嵌入式学习笔记(六) --程序的编译和执行
笔者前面已经学过了Linux的基本命令,vi编辑器的使用。那么当我们编辑好一个.c文件时,如何执行它呢!?要知道一个程序跑起来要经过编译和运行两大过程。编译将源代码生成可执行文件,然后执行查看结果。 一、gcc编译器gcc(GNU Compiler)是GNU推出的多平台编译器,可将C、C++源程序编译连接成可执行文件,支持以下后缀:.c c语言源代...
笔者前面已经学过了Linux的基本命令,vi编辑器的使用。那么当我们编辑好一个.c文件时,如何执行它呢!?
要知道一个程序跑起来要经过编译和运行两大过程。编译将源代码生成可执行文件,然后执行查看结果。
一、gcc编译器
gcc(GNU Compiler)是GNU推出的多平台编译器,可将C、C++源程序编译连接成可执行文件,支持以下后缀:
.c c语言源代码
.h 程序所包含的头文件
.i 已经预处理过的C源代码文件
.s 汇编语言源代码文件
.o 编译后的目标文件
二、使用方法
1. gcc –o hello hello.c
-o 输出可执行文件
-c 只要求编译器输出目标代码(.o文件),而不必输出可执行文件
-g 用于调试
hello是可执行文件的名字(如果没有填写hello 默认是a.out),hello.c是你要编译的代码!
2. ./hello 查看输出结果
三、程序 编辑--编译--执行--调试 的完整过程
1.通过vi编辑器将程序写好
2.使用gcc编译器编译
3.执行查看结果
4.如果有错误(代码错误或者是逻辑错误),再返回去改正
5.再编译执行....直到成功
问:有没有搞错,我的程序是要在板子上运行的,为什么到你这就编程纯Linux机上开发了!!?
答:gcc实际上是一个编译器集,因为它不仅支持 C 语言编译,还支持 C++, Ada,Objective C 等许多语言。另外 GCC 对硬件平台的支持,可以所无所不在,它不仅支持 X86处理器架构, 还支持 ARM, Motorola 68000, Motorola 8800,AtmelAVR,MIPS 等处理器架构。arm-linux-gcc 是基于 ARM 目标机的交叉编译软件,可以通过arm-linux-gcc完成 linux-arm的开发,所以只是换了一个编译器,同时c开发性质不变。
相关链接
嵌入式学习笔记(一) --Ubuntu开发环境搭建 :https://blog.csdn.net/feit2417/article/details/80738940
嵌入式学习笔记(二) --Ubuntu上配置vim编辑器和共享文件 : https://blog.csdn.net/feit2417/article/details/80738940
嵌入式学习笔记(三) --Linux文件系统: https://blog.csdn.net/feit2417/article/details/80738940
嵌入式学习笔记(四) --Linux文件和目录相关命令: https://blog.csdn.net/feit2417/article/details/80753329
嵌入式学习笔记(五) --vi编辑器: https://blog.csdn.net/feit2417/article/details/80759402
嵌入式学习笔记(六) --程序的编译和执行: https://blog.csdn.net/feit2417/article/details/80765177
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)