编译单元

  在IDE(Integrated Development Environment,集成开发环境)开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理链接错误(Link Error),因为它不像编译错误那样可以给出你程序错误的具体位置,你常常对这种错误感到懊恼。

  当在Visual Studio这样的开发工具上编写代码,点击编译按钮准备生成exe文件时,Visual Studio其实做了两步工作。第一步,将每个.cpp(.c)和相应的.h文件编译成obj文件;第二步,将工程中所有的obj文件进行链接生成最终的.exe文件。那么,错误就有可能在这两个地方发生,一个是编译错误(主要是语法错误),另一个是链接错误(主要是重复定义或未定义)。

  我们所说的编译单元就是指在编译阶段生成的每个obj文件,一个obj文件就是一个编译单元,也就是说一个.cpp(.c)和它相应的.h文件共同组成了一个编译单元。一个工程由很过个编译单元组成,每个obj文件里包含了变量存储的相对地址等。

猜你喜欢

转载自www.cnblogs.com/nchu-zf/p/10182731.html
今日推荐