c++编译于链接

【摘要】
问题: 一旦修改一个程序,就需要重新加工所有文件

n个文件通过编译生成n个目标文件,然后进行链接,如果一个目标文件修改,只要对它进行重新编译,再链接。
链接处理的逻辑简单,速度较快。
分快处理的相关概念:
声明:告诉一个源文件,其他文件有某个变量,让编译通过,在链接的时候具体查找定义。
构造头文件来包含所有的声明,注意,头文件也可以包含定义。
翻译单元:源…

问题: 一旦修改一个程序,就需要重新加工所有文件

n个文件通过编译生成n个目标文件,然后进行链接,如果一个目标文件修改,只要对它进行重新编译,再链接。

链接处理的逻辑简单,速度较快。

分快处理的相关概念:

声明:告诉一个源文件,其他文件有某个变量,让编译通过,在链接的时候具体查找定义。

构造头文件来包含所有的声明,注意,头文件也可以包含定义。

翻译单元:源文件+ 相关头文件 – 应忽略的预处理语句。

编译器来处理翻译单元。

编译链接模型

预处理

避免头文件被重复引用

# pragma once

#ifdef 解决方案

编译器

可以对代码进行编译优化。

release在编译过程引入更多优化,提高执行速度,但是不适合debug。

链接

常见错误:

找不到定义:

如下图,编译通过,链接没有通过。

文章来源: blog.csdn.net,作者:海滩游侠,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/m0_47096428/article/details/116472804

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享