设计欣赏心得体会,新乡百度网站优化排名,网站建设兼职挣多少钱,wordpress 传递参数目录 参考gcc概述gcc的工作流程 参考
gcc编译器
gcc概述
编辑器vi、记事本)是指我用它来写程序的 (编辑码)#xff0c;而我们写的代码语句#xff0c;电脑是不懂的#xff0c;我们需要把它转成电脑能懂的语句#xff0c;编译器就是这样的转化工具。就是说#xff0c;我… 目录 参考gcc概述gcc的工作流程 参考
gcc编译器
gcc概述
编辑器vi、记事本)是指我用它来写程序的 (编辑码)而我们写的代码语句电脑是不懂的我们需要把它转成电脑能懂的语句编译器就是这样的转化工具。就是说我们用编辑器编写程序由编译器编译后才可以运行! 编译器是将易于编写、阅读和维护的高级计算机语言翻译为计算机能解读、运行的低级机器语言的程序。 gcc (GNU Compiler CollectionGNU 编译器套件是由 GNU 开发的编程语言编译器。gcc原本作为GNU操作系统的官方编译器现已被大多数类Unix操作系统如linux、BSD、Mac等采纳为标准的编译器同样适用于微软的Windows。 gcc最初用于编译C语言随着项目的发展gcc已经成为了能够编译C、C、Java、Ada、fortran、Object C、ObjectC、Go语言的编译器大家族。
编译命令格式: gcc [options] file… g [options] file…
命令、选项和源文件之间使用空格分隔一行命令中可以有零个、一个或多个选项文件名可以包含文件的绝对路径也可以使用相对路径如果命令不包含输出可执行文件的文件名可执行文件的文件名会自动生成一个默认名Linux平台为a.outwidnow平台为a.exe
gcc是外部命令
gcc的工作流程
gcc编译器从拿到一个c源文件到生成一个可执行程序中间一共经历了四个步骤
四个步骤并不是gcc独立完成的而是在内部调用其他工具从而完成了整个工作流程 # 1、进行预处理
gcc -E hello.c -o hello.i
# 2、生成汇编文件
gcc -S hello.i -o hellp.s
# 3、生成目标代码
gcc -c hello.s -o hello.o
# 4、生成可执行文件
gcc hello.o -o hello
# 5、执行
./hello也可以一步编译完成
# 将源文件生成一个可执行文件等价于前面四步
gcc hello.c -o hello
# 执行
./hello选项作用-o file指定生成的输出文件名为file-E只进行预处理-S(大写)只进行预处理和编译-c(小写)只进行预处理、编译和汇编-v/–version查看gcc版本号-g包含调试信息-On n0~3编译优化n越大优化得越多-Wall提示更多警告信息-D编译时定义宏
# 显示所有的警告信息
gcc -Wall test.c
# 将警告信息当做错误处理
gcc -Wall -Werror test.c-D定义宏用法 测试程序(-D选项)
#include stdio.h1int main(void)
{printf(SIZE: %d nSIZE);return 0;
}执行
dengitcast:-/test$ gcc 2test.c -DSIZE10
dengitcast:-/test$ ./a.out
SIZE: 10