1.11.11. 64-Bit Porting rulesΒΆ

There are some special rules which you have to follow, that your component can be compiled and can run on a 64-Bit Targets:

  1. All public interfaces and structures must use the predefined RTS_ datatypes

  2. A pointer to an object must be a pointer or RTS_HANDLE

  3. Integer calculations on pointers must be done with RTS_UINTPTR resp. RTS_INTPTR

  4. All offset and sizes that worked with memory or file objects must use the RTS_SIZE datatype

  5. RTS_PTRDIFF should be used for differences of pointers, loop counters, array indexing, size storage and address arithmetic

  6. All variables with a fix size on every platform must use the RTS_ datatypes with defined size, e.g. RTS_UI16

  7. Portable format specifiers must be used for printf and scanf (see next chapter)