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