linux 怎么编译c的源程序的?gcc,编译命令是什么?

linux 怎么编译c的源程序的?gcc,编译命令是什么?,第1张

在Linux下面,如果要编译一个C语言源程序,我们要使用gcc编译器

先将源文件编译成目标文件:gcc - c hello.c

生成hello.o文件,再将目标文件编译成可执行文件:gcc -o hello hello.o

如:

int main(int argc,char **argv)

{

printf("Hello Linux\n")

}

扩展资料:

在使用GCC编译器的如则时候,我们必须渣卖棚给出一系列必要的调用参数和文件名称。GCC编译器的调用参数大约有100多个,这里只介绍其中最基本、最常用的参数。具体可参考GCC Manual。

GCC最基本的用法是∶gcc [options] [filenames]

其中options就是编译器所需要的参数,filenames给出相关的配逗文件名称。

参考资料:

百度百科_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

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】;这样才蠢稿能编译正确。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12385662.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存