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-file

#define FILENAME_C_

您应该更喜欢 中的下划线_版本FILENAME_C_,它更常见且更易于阅读。但是,我不明白您为什么只声明这些功能?无论如何,您都需要在 filename.c 文件中定义它们。你想用这个实现什么?

于 2013-03-21T08:52:36.197 回答