通用技术 C++ 源码是如何转化为可执行程序的(抛砖版)

神奇蛋 · 2025年09月08日 · 265 次阅读
  1. C++ 语言简介 低级语言, 机器语言、汇编语言 高级语言,编译型、解释型、混合型 按代数分,3GL 自然语言、形式语言
  2. 简单的例子
  3. 编译工具 • gcc • Clang;Clang 是由 LLVM 项目提供的一个现代编译器,兼容 GCC,支持快速的编译过程和详细的错误报告。它同样支持多种平台,包括 macOS 和 Linux。 • MSVC Microsoft Visual C++;这是微软为 Windows 平台开发的编译器,通常用于开发 Windows 应用程序。它集成在 Visual Studio 中,并具有强大的开发工具和调试功能。 • MinGW • Intel C++ Compiler (ICC)

编译 4 个步骤
◦ 预处理
◦ 编译 compile
◦ 汇编 assemble
◦ 链接 link
举例:gcc(GNU 编译器套装)
术语:
汇编器
编译器
链接器
源文件
汇编文件
目标文件(可重定位的目标文件).obj .o; readeIf 工具可以读取文件中的信息
库文件 .lib .so
可执行文件 .exe

  1. 构建工具 make: Make 是一个构建工具,用于自动化编译和构建项目。 makefile 目标:条件。main: main.o stack.o maze.o 规则:欲更新目标,必须先更新它的所有条件;所有条件中只要有一个条件被更新了,目标也必须随之被更新

• Make 是通用的构建工具,主要用于类 Unix 系统,如 Linux 和 macOS。
• NMake 是 Microsoft 提供的构建工具,专门用于 Windows 系统,通常与 Visual Studio 工具链一起使用。
• xcode build, macOS
• Ninja,更接近于 make
• Gradle, 是一个基于 JVM 的构建工具,主要用于 Java 项目,但也可以支持 C++ 构建。Gradle 提供了强大的扩展性,能够支持多语言项目。

  1. cmake,conan cmake: CMake 是一个跨平台的自动化构建工具,用来管理项目的构建过程。它并不直接编译源代码,而是生成与特定平台和构建工具(如 Make、Ninja、Visual Studio 等)兼容的构建文件(makefile)。 Conan:Conan 是 C 和 C++ 语言的依赖和包管理器。它是免费且开源的,可在所有平台(Windows、Linux、OSX、FreeBSD、Solaris 等)上运行,并可用于开发包括嵌入式、移动(iOS、Android)和裸机在内的所有目标。它还与所有构建系统(如 CMake、Visual Studio (MSBuild)、Makefiles、SCons 等,包括专有系统)集成。

《linux C 一站式编程》
https://blog.csdn.net/bay_Tong/article/details/114286621
Ninja doc:The Ninja build system
Conan:https://docs.conan.org.cn/2/introduction.html

暫無回覆。
需要 登录 後方可回應,如果你還沒有帳號按這裡 注册