PortabilityHacks¶
DON'T USE C99 FEATURE!!!
DON'T USE GCC FEATURE!!!
types¶
:long
don't forget LLP64
:void *
LP32/LP64/LLP64
:long long
use LONG_LONG or int64_t
:codepoint
unsigned int
inttypes¶
- int8_t
- uint8_t
- int16_t
- uint16_t
- int32_t
- uint32_t
- int64_t
- uint64_t
- intptr_t
- uintptr_t
- VALUE
- SIGNED_VALUE http://seclan.dll.jp/c99d/c99d09.htm#dt19990621
printf formats¶
- PRId32
- PRIdPTR
- PRIdPTRDIFF
- PRIdSIZE
- PRIdVALUE http://seclan.dll.jp/c99d/c99d09.htm#dt19990705
number conversion¶
NUM2INT have some intended strange behavior around overflows.
make¶
There are gmake, nmake, bsdmake, and so on.
special¶
You can use C99 feature and gcc feature when you treat other compilers.