GCC介绍
GCC(GNU Compiler Collection) 是 GNU工具链的主要组成部分,一套以 GPL 和 LPGL许可证发布的程序语言编译器,由 Richard Stallman 于 1985 年开发
GCC原名是 GNU C语言编译器,因为它原本只能处理C语言,但是现在的 GCC 不仅可以编译C、C++ 和 Object-C,还可以通过不同的前端模块支持各种语言,包括 Java、Fortan、Ada、Pascal、Go 和 D语言等
GCC 的编译过程可以分为四个阶段:预处理(Pre-Processing)、编译(Compiling)、汇编(Assembling)以及链接(Linking)
以 C 语言为例,从源文件的编译到可执行文件的运行,整个过程大致如下:

编译阶段解析
gcc 作为一个命令,直接编译 c source 文件,默认会生成 .out 文件,gcc 通过 -o 制定输出文件比如
gcc mainTestSuites.c -o test
下面以一个简单的C代码为例,说明程序的编译流程:
#include <stdio.h>
const char* str = "hello world";
const char astr[] = {
"this is array"};
int array[] = {
0};
#define TESTMARCO "testmacro"
const char* testFunction(int para) {
int temp;
int atemp[10] = {
0};
if(para) {
return str;
} else {
return TESTMARCO;
}
}
int main(int argc, char *argv[]) {
printf("main function run .\n");

本文详细介绍了GCC编译器的工作原理,包括编译的四个阶段:预处理、编译、汇编和链接。以C语言为例,展示了从源代码到可执行文件的完整流程,以及如何生成静态库和动态库的过程。
最低0.47元/天 解锁文章
6886

被折叠的 条评论
为什么被折叠?



