#C Help
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