0

ヘッダー ファイルがあり、それを複数のファイルに含める必要がある状況があります。いくつかの静的関数プロトタイプがあります。私はこのようなことをしたい

#ifdef filename.c 
 static foo(void );
 static bar(int );
#endif

つまり、これを filename.c という名前のファイルに含めると、それらの関数プロトタイプはアクティブになり、他のファイルに含めると静かになります。

4

1 に答える 1

0

filename.c比較的珍しいシンボルです。それとは別に、filename.c ファイルでシンボルを明示的に定義する必要があります。お気に入り:

#ifdef FILENAME_C_ 
 static foo(void );
 static bar(int );
#endif

そしてあなたのfilename.cファイルで

#define FILENAME_C_

では、アンダースコア_バージョンを使用することをお勧めしますFILENAME_C_。これは、より一般的で読みやすいためです。それでも、なぜそれらの関数だけを宣言するのかわかりませんか? いずれにせよ、filename.c-file でそれらを定義する必要があります。これで何を達成したいですか?

于 2013-03-21T08:52:36.197 に答える