什么是外部链接和内部链接?
某厂面试归来,发现自己落伍了!>>> 我想了解外部链接和内部链接及其区别。 我也想知道 除非默认声明为 extern ,否则默认情况下 const 变量内部链接。 #1楼 编写实现文件( .cpp , .cxx 等)时,编译器会生成 翻译单元 。 这是实现文件中的目标文件,以及 #include 在其中的所有标头。 内部链接 仅指 翻译单元范围内的 所有内容。 外部链接 是指存在于特定翻译单元之外的事物。 换句话说, 可以通过整个程序访问 ,这是所有翻译单元(或目标文件)的组合。 #2楼 正如 dudewat所说, 外部 链接意味着在整个程序中都可以访问符号(函数或全局变量),而 内部 链接意味着只能在一个 翻译单元中对其进行 访问。 您可以使用 extern 和 static 关键字显式控制符号的链接。 如果未指定的联动是默认键是 extern 用于非 const 符号和 static (内部)为 const 的符号。 // in namespace or global scope int i; // extern by default const int ci; // static by default extern const int eci; // explicitly extern static int si; // explicitly static // the