[Pharo-project] FFI/Alien: Structures with arrrayed fields
Hello all, I am faced with something like the following: struct complex { double real; imaginary; }; struct ugly { int gratuitousSize; long importantStuff[64]; complex * moreImportantStuff[64]; }; The question is how to explain this to FFI? The closest things I have found always seem to be byte arrays, so the "third element" in the arrays of #fields is not well-revealed. Does anyone know whether it is additive or multiplicative, and/or how to use it to make sense of the above struct? Bill
Bert, Re your suggestion about making an external structure for "complex," please consider that done. The question is how to then handle the array (of pointers), and even the array of longs. Bill -----Original Message----- From: pharo-project-bounces@lists.gforge.inria.fr [mailto:pharo-project-bounces@lists.gforge.inria.fr] On Behalf Of Schwab,Wilhelm K Sent: Monday, March 15, 2010 8:29 AM To: Pharo-project@lists.gforge.inria.fr; squeak-dev@lists.squeakfoundation.org Subject: [Pharo-project] FFI/Alien: Structures with arrrayed fields Hello all, I am faced with something like the following: struct complex { double real; imaginary; }; struct ugly { int gratuitousSize; long importantStuff[64]; complex * moreImportantStuff[64]; }; The question is how to explain this to FFI? The closest things I have found always seem to be byte arrays, so the "third element" in the arrays of #fields is not well-revealed. Does anyone know whether it is additive or multiplicative, and/or how to use it to make sense of the above struct? Bill _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Bert, So the "third element" is the field's (array's) size in bytes, right? Thanks!!!! Bill
participants (1)
-
Schwab,Wilhelm K