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

相关推荐
C^h6 小时前
c++ string
开发语言·c++
听风说ml6 小时前
socket编程 【C语言】
c语言·udp·tcp·socket编程
raindayinrain6 小时前
c++高性能--原子操作,无锁编程,操作顺序
开发语言·c++·性能优化
学逆向的6 小时前
C++ 合并命名空间
开发语言·c++·网络安全
Zhao-Jichao6 小时前
VS2026 打包 C++ 程序生成 EXE,借助 Installer Project 扩展工具
开发语言·c++
学逆向的7 小时前
C 局部静态变量
c语言·开发语言·网络安全
小徐不徐说7 小时前
C++ 接口与插件设计:从工厂注册到 Qt 动态插件
数据库·c++·qt·系统架构·程序设计
大都督会赢的8 小时前
C++第一节课
开发语言·c++
UIU1148 小时前
P1233 [ICPC 2001 Taejon R] 木棍加工
数据结构·c++·算法·动态规划
TMedical8 小时前
MedPlanning 截骨模拟矫形功能
c++·图像处理·人工智能·qt·健康医疗