详解C/C++代码的预处理、编译、汇编、链接全过程 |
您所在的位置:网站首页 › apache24配置文件详解 › 详解C/C++代码的预处理、编译、汇编、链接全过程 |
1. C/C++运行的四个步骤 编写完成一个C/C++程序后,想要运行起来,必须要经过四个步骤:预处理、编译、汇编和链接。每个步骤都会生成对应的文件,如下图所示(注意后缀名): 第3节将通过一个简易C++工程演示图中的全过程,并解释细节。 2.名词解释为了后面过程的介绍更方便,这里对C++编译过程中涉及的一些常用名词进行解释。 2.1 GCC、GNU、gcc与g++GNU:一个操作系统,具体内容不重要,感兴趣可以参考:GCC:GNU Compiler Collection(GNU编译器集合)的缩写,可以理解为一组GNU操作系统中的编译器集合,可以用于编译C、C++、Java、Go、Fortan、Pascal、Objective-C等语言。gcc:GCC(编译器集合)中的GNU C Compiler(C 编译器)g++:GCC(编译器集合)中的GNU C++ Compiler(C++ 编译器)简单来说,gcc调用了GCC中的C Compiler,而g++调用了GCC中的C++ Compiler。 - 对于 *.c 和 *.cpp 文件,gcc分别当作 c 和 cpp文件编译,而g++则统一当作cpp文件编译。 2.2 代码编译命令gcc/g++常用指令选项: GDB(gdb)全称“GNU symbolic debugger”,是 Linux 下常用的程序调试器。 为了能够使用 gdb 调试,需要在代码编译的时候加上-g,如 g++ -g -o test test.cpp本文中只演示从源代码生成可执行二进制文件的过程,暂不涉及调试过程。调试的配置会在另一篇文章中专门介绍。 3. C++编译过程详解主要参考: 本节内容用下面的简单C++工程做演示。示例的文件结构如下: |—— include |—— func.h |—— src |—— func.cpp |—— main.cpp其中,main.cpp是主要代码,include/func.h是自定义函数的头文件,src/func.cpp是函数的具体实现 各个文件的内容如下: // main.cpp #include #include "func.h" using namespace std; int main(){ int a = 1; int b = 2; cout |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |