考虑两个功能:
extern int extern_sqr(int i) { return i * i; }
static int static_dbl(int i) { return i * 2; }
Run Code Online (Sandbox Code Playgroud)
那些提到的人将指的extern_sqr是那个功能.这与static链接相反,只有来自"翻译单元"(大致是其定义的文件)内的人才能访问该功能static_dbl.
事实证明,externc默认暗示.所以,如果你写的话,你会得到同样的行为:
int extern_sqr(int i) { return i * i; }
Run Code Online (Sandbox Code Playgroud)
较新的C标准仍然需要"函数声明",因此,通常在某个地方的头文件中,您将遇到:
int extern_sqr(int i); // Note: 'i' is optional
Run Code Online (Sandbox Code Playgroud)
其中说"在某个地方,在其他一些翻译单元中,我有一个叫做的函数extern_sqr.
相同的逻辑适用于变量.
| 归档时间: |
|
| 查看次数: |
2814 次 |
| 最近记录: |