编译单元
Posted nchu-zf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译单元相关的知识,希望对你有一定的参考价值。
在IDE(Integrated Development Environment,集成开发环境)开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理链接错误(Link Error),因为它不像编译错误那样可以给出你程序错误的具体位置,你常常对这种错误感到懊恼。
当在Visual Studio这样的开发工具上编写代码,点击编译按钮准备生成exe文件时,Visual Studio其实做了两步工作。第一步,将每个.cpp(.c)和相应的.h文件编译成obj文件;第二步,将工程中所有的obj文件进行链接生成最终的.exe文件。那么,错误就有可能在这两个地方发生,一个是编译错误(主要是语法错误),另一个是链接错误(主要是重复定义或未定义)。
我们所说的编译单元就是指在编译阶段生成的每个obj文件,一个obj文件就是一个编译单元,也就是说一个.cpp(.c)和它相应的.h文件共同组成了一个编译单元。一个工程由很过个编译单元组成,每个obj文件里包含了变量存储的相对地址等。
以上是关于编译单元的主要内容,如果未能解决你的问题,请参考以下文章