Zitat von Vinzent Höfler <[EMAIL PROTECTED]>: > Mattias Gärtner wrote: > > Zitat von Vinzent Höfler <[EMAIL PROTECTED]>: > > > >> [...] > >>>>> a: record end; > >>> Thanks. I will use that. > >> What for? The C statement is empty, it's not a variable and not even a > >> type. So before translating that into an empty Pascal-record, you should > >> rather look at what the actually used structur in the C-code is. > > > > Actually the C-Code does what C can do really good: obfuscating. > > Yeah. > > > If I understand the code correct, the 'struct a;' itself is never used > directly. > > It always uses 'struct a* foo'. So foo is a pointer to an empty struct > > a, which probably is the C equivalent of a typed pointer. To get strong > type > > checking, I guess, it is ok to follow Felipe's advice: > > > > type a = record end; pa=^a; > > Well, I guess so, but it still doesn't make a lot of sense. > > That "struct a" is not empty (storage size = 0), it is even non-existant > (storage size = unknown). So the C-code may shuffle around the pointers, > but unless this "struct a" (the "a" not even being a type here) is > instantiated somewhere (internally in some library code?) such pointers > are merely typed "void*".
The c compiler does not need the internals, so should the pascal bindings. Mattias _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal