arm-linux-gcc怎么编译自己写的头文件

arm-linux-gcc怎么编译自己写的头文件,第1张

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

要么就使用绝对路径, 要么就使用工程. 如:#include "c:\foo\foo.h" 使用工程的话就是新建一个工程, 工程建好之后会有source files, header files, other files三个目录, 你用右键把头文件添加到header files里边即可 工程的话实际上也是使用了绝对路径, 只是工程文件帮你做了文件的搜寻工作. 如果是在linux下使用GCC编译器的话,把头文件放在当前目录也可以找到的

在Linux下eclipse编译C++程序一般是调用gcc、gdb来完成工作的,所以要先安装gcc、gdb:yum install make gcc gcc-c++

然后再安装用于C++编写的eclipse:

yum install jre

yum install eclipse-cdt

把这些都安装好后,在图形界面下打开eclipse,编写、编译C++程序,用鼠标来 *** 作应该都很简单的吧


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

原文地址: http://outofmemory.cn/yw/6182943.html

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

发表评论

登录后才能评论

评论列表(0条)

保存