0

現在、unistd.h と fcntl.h (open、read、close など) からいくつかのシステムコールを実装しています。いくつかの特別なフラグとマクロ (O_CREAT、O_RDWR) が必要です。

unistd.h および fcntl.h からの関数定義なしで、フラグとマクロのみを含める方法はありますか?

ありがとう

4

2 に答える 2

1

おそらく、-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.
于 2012-07-02T12:55:00.283 に答える
0

一般的に - いいえ。問題のヘッダーを見ると、プロトタイプが決定的なマクロで囲まれていないことがわかります。これは、それらを除外するだけです。

sys/types.h、stddef.h などをインクルードすることで、一部の定義を取得できる場合がありますが、すべてではありません。

すべての関数プロトタイプは「extern」と宣言されているため、実装の障害にはなりません。

于 2012-07-02T12:07:48.087 に答える