私が管理しているアプリケーションで、stdlibに影響を与えるファイル記述子の制限に関する問題が発生しました。この問題は、標準ライブラリの32ビットバージョンにのみ影響します。
私は自分のコードの修正を考案し、それを実装したいと思っていますが、32ビットの実行可能ファイル用にコンパイルする場合に限ります。コードが32ビットまたは64ビットのターゲット用にコンパイルされているかどうかを判断するために#ifdefで使用できるプリプロセッサシンボルは何ですか?
編集
申し訳ありませんが、コードはクロスプラットフォーム、Linux、Windows、Solaris、およびその他のいくつかのUNIXフレーバーであり、主にコンパイルにGCCを使用しています。クロスプラットフォームで使用できるデファクトスタンダードはありますか?
編集2
「__ILP23」と「__LP64」の定義が機能しているように見えることがあります...ここでの説明では、UNIXプラットフォームの背景について説明します。誰かがこれらの定義を使用した経験がありますか?これは使えるのでしょうか?