当前位置: 首页 > news >正文

cmake 是编译器吗

不是的,CMake 不是编译器,这是很多初学者容易搞混的地方。我们仔细分清楚:


一、CMake 是什么?

CMake 是“生成编译流程的工具”
它的工作是:告诉编译器和构建工具(make / ninja)应该怎么编译你的代码

换句话说:

  • CMake = 编译说明书生成器
  • 实际编译工作 = 编译器(g++, gcc, clang)干的

二、CMake 与编译器的关系

CMakeLists.txt (规则说明书) ↓ CMake ↓ Makefile / Ninja ↓ 编译器 g++ / gcc ↓ 可执行文件 / 库
  • CMake:生成 Makefile 或 Ninja 文件(告诉 g++ 该编译哪些文件,哪些依赖)
  • g++ / gcc:真正把.cpp变成.o,再链接成可执行文件
  • Make / Ninja:根据 Makefile 或 Ninja 文件,按顺序调用编译器完成整个构建

三、举例类比(Java / Python)

语言工具干什么
C++CMake生成编译流程
g++真正编译代码
JavaMaven生成编译/打包流程
javac真正编译代码
Pythonsetup.py生成打包流程
Python 解释器执行代码 / 打包

💡 核心:CMake 只负责“计划”,不干活


四、用生活类比

  • CMake = 厨师的菜谱
  • 编译器 g++ = 厨师本人
  • 最终可执行文件 = 做好的菜

你手上有菜谱(CMake),但不动手(g++ 编译),菜是做不出来的。


如果你愿意,我可以画一张0基础版“CMake 编译器流程图”
让你一眼就能看懂 CMake、g++、Make 之间的关系。

你想让我画吗?

http://www.jsqmd.com/news/162698/

相关文章:

  • 利用Altium Designer自定义PCB线宽与电流参数对照表
  • SpringBoot+Vue 图书管理系统管理平台源码【适合毕设/课设/学习】Java+MySQL
  • PyTorch模型预测批次大小Batch Size影响分析
  • cmake 常用命令(6条)
  • Markdown task lists待办事项跟踪PyTorch开发进度
  • PyTorch-CUDA镜像构建缓存优化策略
  • Markdown emoji图标标识PyTorch实验成功与否
  • SSH MaxSessions限制并发会话保护PyTorch服务器
  • 三脚电感在低噪声放大电路中的配置方法
  • SpringBoot+Vue 玩具租赁系统平台完整项目源码+SQL脚本+接口文档【Java Web毕设】
  • Markdown line breaks换行使PyTorch文档更清晰
  • 小功率变频器中电压电流传感器应用
  • PyTorch-CUDA-v2.8镜像对Faster R-CNN的训练加速
  • 超详细版波形发生器设计初学指南
  • Markdown header ids为标题添加唯一标识
  • Docker restart policy确保PyTorch服务高可用
  • GitHub Templates创建自定义PyTorch项目模板
  • BRAM在FPGA原型验证中的作用:全面讲解
  • 我将区块链和 AI 结合生成艺术。接下来发生了什么。
  • 基于SpringBoot+Vue的西安旅游系统管理系统设计与实现【Java+MySQL+MyBatis完整源码】
  • 工业控制中Vivado许可证的部署:实战案例解析
  • PyTorch模型蒸馏提升小模型准确率
  • 我将 Tiny Llama 3.2 1B 微调以替代 GPT-4o
  • Jupyter Notebook %colors切换配色方案
  • 我构建了一个 AI 人类级游戏玩家
  • Markdown表格对比不同PyTorch版本性能差异
  • 双极性晶体管驱动蜂鸣器电路:无源模式操作指南
  • ArduPilot源码结构深度剖析:核心模块全面讲解
  • CMOS放大电路仿真:circuit simulator核心要点总结
  • 新手必看:Vivado综合设置入门教程