【发布时间】:2015-04-07 12:09:35
【问题描述】:
[Ansi-C/Eclipse] 出于某种原因,我没有发现任何有用的东西,所以这是我的问题:
我希望 bar() 只能被 foobar.c 内的代码访问
我应该:
将static放在声明和定义的前面
把
bar()的声明从foobar.h中去掉,放到foobar.c里?
有什么区别?这是我的设置:
main.c:
#include "foobar.h"
int main() {
foo();
}
foobar.h:
#ifndef FOOBAR
#define FOOBAR
void foo();
void bar(); //Move to foobar.c?
#endif
foobar.c:
#include "foobar.h"
void foo() {
bar();
}
void bar() { //make this static?
printf("Hello World");
}
【问题讨论】: