gpt4 book ai didi

c - #ifdef in c for filename 用于保护头文件中的静态函数

转载 作者:行者123 更新时间:2023-11-30 17:53:31 26 4
gpt4 key购买 nike

我遇到一种情况,我有一个头文件,并且必须包含在多个文件中。它有一些静态函数原型(prototype)。我想做这样的事情

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

这意味着,如果我将其包含在名为 filename.c 的文件中,那么这些函数原型(prototype)就会处于事件状态,而如果包含在其他文件中,它们就会保持安静。

最佳答案

filename.c 是一个相对不常见的符号。除此之外,您需要在 filename.c 文件中显式定义一个符号。喜欢:

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

在你的filename.c-file

#define FILENAME_C_

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

关于c - #ifdef in c for filename 用于保护头文件中的静态函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15542889/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com