hel*_*ack 2 c++ compilation linkage
我将非常感激,如果有人能够实际解释当我按下按钮BUILD时我的编译器究竟做了什么,并且编译器开始编译所有我的.h和.cpp文件这个过程到底是怎么回事(我在目标文件中有什么内容) ?),为什么我会问这样的问题?我试图理解"最小化文件之间的编译依赖关系"是什么意思,来自Meyers的书约有50种具体方式...(希望你知道这本书),在那里他解释了它是什么意思抽象基类和句柄类,正如我的讲师向我解释的那样,我不需要包含过多的.h文件,所有这一切,任何有关编译过程的链接都将受到赞赏,在此先感谢任何帮助
进行完全编译时,编译器将依次读取每个.cpp文件.对于给定的.cpp文件,它将读取#include
指令引用的每个文件,递归地编译代码.当它编译下一个源文件时,它将读取该#include
源文件中引用的文件.
当您进行任何更改并进行构建时,如果#include
.cpp文件中的指令引用的任何文件已更改,则将重新编译.cpp文件,就像.cpp文件本身已更改一样.
#include
因此,不必要的指令有两个成本:首先,编译器必须在编译时读取和处理更多文件,其次,即使实际使用的任何内容都没有改变,它也会增加.cpp文件需要重新编译的机会.
归档时间: |
|
查看次数: |
865 次 |
最近记录: |