Improve this page Github へのログインが必要です。 簡単な修正は、ここから fork、オンライン編集、pull request ができます。 大きな修正については、 通常の clone で行って下さい。 Page wiki 関連するWikiページを参照・編集 English このページの英語版(原文)

移植性に関する指針

移植の際に生じる問題を最小に押さえる、 というのはソフトウェア工学的に、良い習慣です。 移植時に問題の生じうる箇所を少なくするテクニックとしては:

32bit から 64bit への移植性

64bitプロセッサやOSがだんだん使われるようになってきました。 以下のことを念頭に置いておきましょう:

エンディアン

エンディアンとは、複数バイトの型がどのような順番でメモリに格納されるかの順序のことです。 よくある順序は ビッグエンディアンリトルエンディアン の二種類です。 コンパイラは、コンパイル先システムの種類に応じて、 バージョン識別子 BigEndianLittleEndian をあらかじめ定義します。 x86 システムでは常にリトルエンディアンです。

エンディアンが問題になるのは、以下のような場面です:

OS特有のコード

システム特有のコードは、 特有の部分を別のモジュールへ分離して取り扱います。 そしてコンパイル時に、システムに応じて適切なモジュールをimportします。

細かい違いであれば、 システム特有モジュールに定義した定数を使って、 if 文static if 文 で分けて書くこともできます。