【C语言】gcc编译C语言程序的4个步骤 |
您所在的位置:网站首页 › c语言编写的程序经过编译即可执行 › 【C语言】gcc编译C语言程序的4个步骤 |
一、gcc编译器介绍
1.什么是编译器
编辑器(如vi、记事本)是指我用它来写程序的(编辑代码),而我们写的代码语句,电脑是不懂的,我们需要把它转成电脑能懂的语句,编译器就是这样的转化工具。就是说,我们用编辑器编写程序,由编译器编译后才可以运行! 2.编译器作用编译器是将易于编写、阅读和维护的高级计算机语言翻译为计算机能解读、运行的低级机器语言的程序。 3.gcc编译器gcc(GNU Compiler Collection,GNU 编译器套件),是由 GNU 开发的编程语言编译器。gcc原本作为GNU操作系统的官方编译器,现已被大多数类Unix操作系统(如Linux、BSD、Mac OS X等)采纳为标准的编译器,gcc同样适用于微软的Windows。 (gcc最初用于编译C语言,随着项目的发展gcc已经成为了能够编译C、C++、Java、Ada、fortran、Object C、Object C++、Go语言的编译器大家族) 4.gcc编译器命令 4.1命令格式:gcc [-option1] ... g++ [-option1] ... 命令、选项和源文件之间使用空格分隔一行命令中可以有零个、一个或多个选项文件名可以包含文件的绝对路径,也可以使用相对路径如果命令中不包含输出可执行文件的文件名,可执行文件的文件名会自动生成一个默认名,Linux平台为a.out,Windows平台为a.exe 4.2gcc、g++编译常用选项说明:选项 含义 -o file 指定生成的输出文件名为file -E 只进行预处理 -S(大写) 只进行预处理和编译 -c(小写) 只进行预处理、编译和汇编 二、编译步骤 1.C代码编译成可执行程序经过4步: 预处理:宏定义展开、头文件展开、条件编译等,同时将代码中的注释删除,这里并不会检查语法编译:检查语法,将预处理后文件编译生成汇编文件汇编:将汇编文件生成目标文件(二进制文件)链接:C语言写的程序是需要依赖各种库的,所以编译之后还需要把库链接到最终的可执行程序中去 2.gcc编译过程 1)分步编译预处理:gcc -E hello.c -o hello.i 编 译:gcc -S hello.i -o hello.s 汇 编:gcc -c hello.s -o hello.o 链 接:gcc hello.o -o hello 选项 含义 -E 只进行预处理 -S(大写) 只进行预处理和编译 -c(小写) 只进行预处理、编译和汇编 -o file 指定生成的输出文件名为 file 文件后缀 含义 .c C 语言文件 .i 预处理后的 C 语言文件 .s 编译后的汇编文件 .o 编译后的目标文件 2)一步编译gcc hello.c -o demo(其实内部还有:预处理、编译、汇编、链接的过程) 3.演示过程: 3.1预处理:gcc -E hello.c -o hello.i
平常在项目中如果遇到某些bug找不到原因,不妨在这编译过程中去排查一下。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |