システムで定義されたマクロを確認する方法
以下のようにすることで確認できる。
$ echo | cpp -dM #define __DBL_MIN_EXP__ (-1021) #define __UINT_LEAST16_MAX__ 65535 .....
Cのソースは、OS などのプラットフォームが変わっても問題なくコンパイルできるように、環境ごとに展開されるコードを変える必要がある。ある CPU はビックエンディアンだが、リトルエンディアン環境では処理が変わる、というような場合、その変わるコードが自動で選択されるようにならないといけない。そのためにマクロを使用して環境ごとに展開コードを変える必要があるが、その際に使用されるのが上記コマンドで得られた結果。まあ、Mac でも Linux でも Windows でも動作する、というようなコードを書く場合に、上記のようなシンボルを意識すべし、ということになるのかもしれないが・・・今どきは、そんな要件があったら Java や Python を使うだろうな。。。まあ、この情報は Just in case といったところか。