nullary _ffi's
Henry Cejtin
henry@sourcelight.com
Thu, 2 Nov 2000 16:32:06 -0600
You have to be a bit cautious with C. The distinction between link-time
constants and link-time variables is a bit subtle. Note, if I declare
int x[100];
in C (at top level) then x is a link-time constant that is the addres of the
first element of the array. If, on the other hand, I say
int *x;
then the link-time symbol x is the location of memory which holds the first
element.
On the other hand, using cpp, we can have #defines which are actual link-time
constant numbers. I.e., it seems that the native backend is assuming that
val n = _ffi "FFI_INT": int;
corresponds to a .h file which is
#define FFI_INT 13