=begin
= 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

== printf formats

== number conversion

NUM2INT have some intended strange behavior around overflows.

== make
There are gmake, nmake, bsdmake, and so on.

== iconv
There are glibc iconv, GNU libiconv, Citrus iconv, and so on.

== special

You can use C99 feature and gcc feature when you treat other compilers.
=end