> I am somewhat confused about what you wrote.  SQLite provides a C
> level api.  You can ignore the types and put in alternatives.
> Depending on byte order, calling conventions, what the C types
> actually mapped to, sizes of types etc it may work when wrong anyway,
> or you could get seriously messed up problems.  IOW you are getting
> lucky using long instead of int.

Come on Roger.  You know that the types for integers in C are char, short, 
long, and long long.  

int corresponds to whatever type happens to be the native alignment boundary 
(and ALU register size) for the machine hardware in question.  

On 8-bit (4-bit and bitslice) Intel bitty-boxes int equals char.  
On 16-bit Intel bitty-boxes int equals short.  
On 32-bit Intel bitty-boxes, int equals long.  
On 64-bit Intel bitty-boxes int should equal long long.  
On 128-bit processors int equals _int128

But of course the compiler writers and OS vendors screw with and redefine the 
standard to their convenience, and then deny that it ever changed (especially 
easy in this day and age).





Reply via email to