現在、unistd.h と fcntl.h (open、read、close など) からいくつかのシステムコールを実装しています。いくつかの特別なフラグとマクロ (O_CREAT、O_RDWR) が必要です。
unistd.h および fcntl.h からの関数定義なしで、フラグとマクロのみを含める方法はありますか?
ありがとう
おそらく、-imacros
オプションgcc
はあなたが探しているものです。
-imacros FILE
Exactly like `-include`, except that any output produced by scanning FILE is thrown away. Macros it defines remain defined. This allows you to acquire all the macros from a header without also processing its declarations.
一般的に - いいえ。問題のヘッダーを見ると、プロトタイプが決定的なマクロで囲まれていないことがわかります。これは、それらを除外するだけです。
sys/types.h、stddef.h などをインクルードすることで、一部の定義を取得できる場合がありますが、すべてではありません。
すべての関数プロトタイプは「extern」と宣言されているため、実装の障害にはなりません。