如何通过宏来限制我的函数的使用,比如C ++中的private?

时间:2014-04-07 11:14:54

标签: c macros

例如,在程序中,我有一个由其他函数在内部使用的函数。但我想在main()中限制使用此帮助功能。与C ++中的private类似。

4 个答案:

答案 0 :(得分:7)

您在C文件中创建函数static(我假设与具有main()的文件相同的C文件)并在标题中省略它。然后它不能从它自己的C文件外调用。

答案 1 :(得分:0)

如果必须在标题中使用它,请在单独的编译单元中定义并使用它,或在标题末尾使用#undef。你确定你想要一个宏来做你正在做的事情吗?

答案 2 :(得分:0)

您可以将#if和#endif用于某些函数,并在头文件中的特定条件下声明它们。以下示例可能会有所帮助:

#if SPECIFIC_CONDITION
void functionOne();
BOOL functionTwo();
int functionThree();
#endif
void functionFour();

因此除了functionFour()之外的所有函数都将作为私有函数,因为您只能在特定条件下调用前三个函数

答案 3 :(得分:-3)

好吧,你把这个函数作为某个结构或类的私有成员,这样你就可以单独使用它而不是其他人。