extern在声明常量时有什么用?

时间:2010-04-07 09:53:41

标签: objective-c

请告诉我在不同文件中声明常量变量时​​extern变量的用法是什么。

2 个答案:

答案 0 :(得分:5)

extern关键字强制编译器将语句视为声明而不是定义。换句话说,extern阻止编译器为变量保留空间。因此,只有不使用extern的编译单元提供定义,而其他只使用声明,这符合“一个定义规则”;如果每个编译单元要为同一个变量独立保留空间,则会导致违反“一个定义规则”。请注意,extern字面意思是“定义是在外部提供的(由不同的编译单元提供)”。

答案 1 :(得分:1)

就像C一样,extern关键字意味着该符号在另一个目标文件中定义,该文件将在编译阶段链接到该文件。