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

相关推荐
Yzzz-F20 分钟前
CF2023D
c++·算法·dp
Mr.Lu ‍30 分钟前
C++开发,使用openCV API对图片进行压缩
开发语言·c++·opencv
大鹏的NLP博客31 分钟前
ONNX Runtime CUDA 推理优化实战:破解 C++ 比 Python 慢 28 倍的假象
c++·onnx·推理优化
HugoStudio_SWAN1 小时前
【按键反馈】C++ 实现键盘烟花秀
开发语言·c++·学习·程序人生
间歇性努力持续性发呆的野生快乐选手1 小时前
二分模板(整型,浮点型)
数据结构·c++·算法
艾莉丝努力练剑1 小时前
【AI大模型接入SDK】DeepSeek API 基础概述
c++·人工智能·学习·ai·面试·deepseek
ZiLing2 小时前
2026 ROS 2 Lyrical C++ 入门(一):rclcpp、QoS、colcon 与 CMake 踩坑指南
c++
OPEN-F2 小时前
C++进阶教程:类与对象深入
java·开发语言·c++
彷徨而立2 小时前
【C++11】内存模型的逻辑时序关系 happens‑before
c++
zmzb01033 小时前
C++课后习题训练记录Day201
c++·算法·图论