C での 32 ビット環境と 64 ビット環境の区別
C コンパイルのビット幅 (32 対 64) を決定することは、特定の操作。一般的なアプローチではマクロを使用して最大値を比較しますが、失敗の可能性に関する懸念が生じます。
推奨される方法:
マクロのみに依存するのではなく、クロスの使用を検討してください。 -コンパイラ固有の定義を活用するプラットフォーム アプローチ。カスタム変数 (ENVIRONMENT64 や ENVIRONMENT32 など) を定義し、コンパイラーのプラットフォームに基づいて設定します。サンプル コード スニペットを次に示します。
// Check Windows #if _WIN32 || _WIN64 #if _WIN64 #define ENVIRONMENT64 #else #define ENVIRONMENT32 #endif #endif // Check GCC #if __GNUC__ #if __x86_64__ || __ppc64__ #define ENVIRONMENT64 #else #define ENVIRONMENT32 #endif #endif // Check based on custom variables #ifdef ENVIRONMENT64 DoMy64BitOperation(); #else DoMy32BitOperation(); #endif
代替解決策:
または、コンパイラのコマンド ラインからこれらの変数を明示的に設定できます:
-DENVIRONMENT64=1
以上がC 環境が 32 ビットか 64 ビットかを確実に判断するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。