怎么理解C++编译、连接、运行

来源:百度知道 编辑:UC知道 时间:2024/06/24 08:11:44
在C++或者是其他很多编程语言中都经常说到编译、连接、运行等,我不是很了解,想问一下它们都是在什么时候具体做点什么的呢,请各位高人指点,谢谢!

编译是将各个模块转化为机器语言的对象文件
连接就是把这些对象文件再组合,将模块与模块之间的入口与出口衔接起来
例如你自己写个单文件程序,你自己的程序是一个模块
然后你在头文件里面调用的东西又是几个模块
各个模块之间被调用的函数称为符号
编译的时候引用其他模块的地方用符号标注,但是不指向实际地址
连接的时候将模块进行组合,求得各个符号的偏移地质,再按照符号列表填入各个模块实现实际调用,这才是一个完整的程序
运行就不多说了,就是把程序调入机器完成特定逻辑的步骤

简单的说,编译是把高级语言程序转化成机器语言;连接是把程序代码不同文件之间有关系的,联系到一起。
运行就是执行程序啦~