C++扫盲——为什么C/C++分文件要写h和cpp?

看到了一个很有意思的视频,虽然探讨的是很基础的知识,但往往被忽略了。初学时理解不到位,现在重读有了新的理解,核心内容是关于C/C++的编译过程,分享给大家。

C/C++可以把想给别人看的部分放到头文件,而具体实现放到cpp里减少对编码的干扰。在代码复用时只需要引入头文件,在方便的同时隐藏实现细节。

gcc编译过程包括预处理、编译、汇编、链接,实现了从源文件(.c .cpp .h)到可执行程序(.exe)的转换。

生成可执行程序过程为成四个步骤:

1、由.c文件到.i文件,这个过程叫预处理。

2、由.i文件到.s文件,这个过程叫编译。

3、由.s文件到.o文件,这个过程叫汇编。

4、由.o文件到可执行文件,这个过程叫链接。

视频:

https://www.bilibili.com/video/BV1Hv4y1e7DC/?spm_id_from=333.337.search-card.all.click&vd_source=282fa529b606b758ba91e3316847f214

文本内容见:

https://zhuanlan.zhihu.com/p/111500914

相关推荐
LXS_3571 分钟前
STL - 函数对象
开发语言·c++·算法
专注于ai算法的踩坑小达人8 分钟前
C++变量全面总结
c++·qt
阿猿收手吧!16 分钟前
【C++】atmoic原子操作与并发安全全解析
开发语言·c++·安全
AllData公司负责人21 分钟前
【亲测好用】实时开发平台能力演示
java·c语言·数据库
pcm12356721 分钟前
设计C/S架构的IM通信软件(3)
java·c语言·架构
zz345729811322 分钟前
C语言基础概念7
c语言·开发语言
凯子坚持 c26 分钟前
C++基于微服务脚手架的视频点播系统---客户端(1)
开发语言·c++·微服务
CSDN_RTKLIB30 分钟前
SharedPtr测试步骤说明
c++
呱呱巨基33 分钟前
Linux 第一个系统程序 进度条
linux·c++·笔记·学习
2401_8384725135 分钟前
C++中的装饰器模式实战
开发语言·c++·算法