linux系统编译命令 linux系统编译过程

arm-linux-gcc怎么编译自己写的头文件linux gcc编译c文件头文件
linux gcc编译c文件头文件,使用GCC编译器编译C语言
凶猪下山
转载
关注
0点赞·1047人阅读
GCC编译C源代码有四个步骤:预处理—-编译—-汇编—-链接 。
可以利用GCC的参数来控制执行的过程,这样就可以更深入的了解编译C程序的过程 。
下面将通过对一个程序的编译来演示整个过程 。
#include
int main()
{
printf("happy new year!\n");
return 0;
}
1:预处理:编译器将C程序的头文件编译进来,还有宏的替换,可以用gcc的参数-E来参看 。
预处理 命令:gcc -E hello.c -o hello.i
作用:将hello.c预处理输出hello.i
2:编译:这个阶段编译器主要做词法分析、语法分析、语义分析等,在检查无错误后后,把代码翻译成汇编语言 。可用gcc的参数-S来参看 。
编译器(ccl)将文本文件hello.i 翻译成文本文件hello.s, 它包含一个汇编语言程序 。汇编语言程序中的每条语句都以一种标准的文本格式描述了一条低级机器语言指令 。
编译命令:gcc -S hello.i -o hello.s
作用:将预处理输出文件hello.i汇编成hello.s文件
3:汇编:把编译阶段生成的.s 文件转换为二进制目标代码 。可用gcc的参数-c来参看 。汇编器(as)将hello.s翻译成机器语言指令 , 把这些指令打包成可重定位目标程序的格式,并将结果保存在目标文件hello.o中 。hello.o文件是一个二进制文件,它的字节编码是机器语言 。
汇编 命令:gcc -c hello.s -o hello.o
作用:作用:将汇编输出文件hello.s编译输出hello.o文件
4:链接:把obj文件链接为可执行的文件:链接器(ld)负责.o文件的并入 。结果就是hello文件 , 它是一个课执行的目标文件,可以加载到存储器后由系统调用 。
链接命令:gcc hello.o -o hello
一步操作的话是: (-o必须在hello之前 )
$gcc hello.c -o hello
$./hello或者:(会默认生成a.out文件)
$gcc hello.c
$./a.out
linux终端下如何进行C语言编译1、首先在linux下判断是否安装gcc编译器,直接执行:gcc -v,判断是否安装gcc 。
2、然后需要在代码框内写一个简单的C源程序 。
3、在程序中使用了C语言中的数学开方函数 , sqrt(),所以需要引入math.h头文件 。
4、写完源程序之后,我们对其进行编译 , 如果使用通常的编译语句,【gcc math.c -o math】进行编译,会出现错误;大概的意思就是不认识sqrt这个东西 。
5、所以需要使用正确的命令:【gcc math.c -lm -o math】;这样才能编译正确 。
“linux”怎么编译c的源程序的?“gcc”编译命令是什么?格式 gcc [option] [sourcefilename]
介绍一些常用linux系统编译命令的选项:最简单的是:gcc hello.c
默认的情况下将生成a.out的可执行性文件,linux系统编译命令你只需要在终端上输入./a.out就可以看到执行的结果.
如果linux系统编译命令你想指定生成目标文件的名字那么linux系统编译命令你可以加上 -o选项,命令如下:
gcc -o hello hello.c
命令如下:
gcc -c hello hello.c
【linux系统编译命令 linux系统编译过程】linux系统编译命令的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于linux系统编译过程、linux系统编译命令的信息别忘了在本站进行查找喔 。

    推荐阅读