1

POSIXと完全に互換性がなければならないシステムを開発しています

私はこれをgccとc++を使用してFedoraCore14で開発しています

POSIX以外のものは使いたくない

これを維持するにはどうすればよいですか?

コンパイラ設定はありますか?

コードブロックを使用しています

4

2 に答える 2

3

いいえ、Posix API のみを使用することを保証する「魔法のコンパイラ スイッチ」はありません。

ここで POSIX 仕様を取得できます。

このスイートを使用すると、アプリケーションが POSIX API に準拠しているかどうかを確認できます。

于 2013-01-03T19:54:00.380 に答える
1

これは実際にはコンパイラとは何の関係もありません。POSIX は、ユーティリティ、インターフェイス、および付随するヘッダー ファイルを指定します。コンパイラは、プログラミング言語の詳細のみに関係します。

-Dとはいえ、使用しているヘッダー ファイル セットが適切に実装されている場合は、使用している機能セットを適切なおよび-Uオプションで有効/無効にできるはずですgcc

たとえば、が定義されていない限り、インクルードはfcntl.hへのアクセスを許可しません。同じヘッダーを使用するには、 to 以上を定義する必要があります。fallocate()_GNU_SOURCE_POSIX_C_SOURCE200809LF_DUPFD_CLOEXEC fcntl()

于 2013-01-03T19:54:50.557 に答える