POSIXと完全に互換性がなければならないシステムを開発しています
私はこれをgccとc++を使用してFedoraCore14で開発しています
POSIX以外のものは使いたくない
これを維持するにはどうすればよいですか?
コンパイラ設定はありますか?
コードブロックを使用しています
いいえ、Posix API のみを使用することを保証する「魔法のコンパイラ スイッチ」はありません。
ここで POSIX 仕様を取得できます。
このスイートを使用すると、アプリケーションが POSIX API に準拠しているかどうかを確認できます。
これは実際にはコンパイラとは何の関係もありません。POSIX は、ユーティリティ、インターフェイス、および付随するヘッダー ファイルを指定します。コンパイラは、プログラミング言語の詳細のみに関係します。
-D
とはいえ、使用しているヘッダー ファイル セットが適切に実装されている場合は、使用している機能セットを適切なおよび-U
オプションで有効/無効にできるはずですgcc
。
たとえば、が定義されていない限り、インクルードはfcntl.h
へのアクセスを許可しません。同じヘッダーを使用するには、 to 以上を定義する必要があります。fallocate()
_GNU_SOURCE
_POSIX_C_SOURCE
200809L
F_DUPFD_CLOEXEC
fcntl()