CompuServe Messages

#C Help

    06-Apr-94 16:41:08
Sb: #40381-#C Help
Fm: Peter Wade 100265,2740
To: CLEMENT DROLET 76266,2530
The declaration : int (*func) () ; means that func is a pointer to a function which returns an integer. In SAS C integers are 32 bit by default, unless you use certain compiler switches. Strictly speaking it is bad form in C to declare something just as int if you care what length it should be. The near data section is just somewhere that the SAS compiler keeps global variables. Funcions compiled by SAS expect a4 to point to this section. If you are porting to another language the details of this are not important. However, if the C declaration includes __saveds or __interrupt it means the programmer expects these functions to be called from code that does not understand the environment that the compiler sets up for functions. You may need to do something similar if your compiler expects pointers to data sections in particular registers. Peter Wade Autopiloting from London, England