我有一种情况,我有一个头文件,必须包含在多个文件中。它有一些静态函数原型。我想做这样的事情
#ifdef filename.c
static foo(void );
static bar(int );
#endif
这意味着如果我将其包含在名为filename.c的文件中,那么这些函数原型是活动的,如果包含在其他文件中,则它们是安静的。
答案 0 :(得分:0)
filename.c
是一个相对不常见的符号。除此之外,您还需要在filename.c文件中明确定义一个符号。像:
#ifdef FILENAME_C_
static foo(void );
static bar(int );
#endif
在您的filename.c
- 文件
#define FILENAME_C_
您应该更喜欢_
中的下划线FILENAME_C_
- 版本,它更常见且更易于阅读。
但是,我不明白你为什么只宣布这些功能?您还需要在filename.c文件中定义它们。你想用这个来实现什么目标?