【发布时间】:2013-02-18 23:14:54
【问题描述】:
刚刚阅读 Effective C++,他多次提到“链接器错误”,而不是编译器错误。
什么构成“链接器错误”,它们与“编译器错误”有何不同?规则/解释是否基于一组类别以在逻辑上记住这一点?
【问题讨论】:
-
我相信关于链接器(错误)和编译器(错误)之间区别的信息是广泛可用的。谷歌一下就行了。
-
链接器错误从广义上讲是关于使用您在代码中声明但未定义(或定义太多次)的内容。链接过程建立了这些联系,这就是事情可能出错的地方。
-
您实际上是在询问“编译”和“链接”之间的区别。设法了解这些。
-
这里有一个比喻:想象你想画一条线(就像实数线一样)。现在有人可以给你几条线,你说,“看起来不错”。如果有人给你一个看起来像十字架的东西,你会立即知道它永远不会成为一行的一部分(“编译器错误”)。但是当你把所有的部分放在一起之后,你可能会发现你已经做了一个大圆圈!您从未从小部分中看到这一点,但您仍然没有得到您想要的:“链接器错误”。
标签: c++ c compiler-construction linker