Preprocessor constants defined in the idl_export.h file should be used in preference to hardwired values. To accommodate the needs of various operating systems, some of these constants have different values in different versions of IDL. Those constants that are not discussed elsewhere are listed below.


A more readable alternative to the constant 1.


A more readable alternative to the constant 0.


Some C compilers are good at allocating registers, and using the C register declaration can cause efficiency to suffer. On the other hand, some C compilers won’t put any variables into registers unless register definitions are used. Our solution is to use IDL_REGISTER to declare variables we feel should be placed into registers. For machines that we feel have a good register allocation scheme, we define IDL_REGISTER to be a null macro. For lesser compilers, it is defined to be the C register keyword.


The maximum number of dimensions an array can have.


The maximum number of characters IDL allows in an identifier (variable names, program names, and so on).


The maximum number of characters allowed in a filepath.