嵌入式Linux开发之环境搭建(四)

交叉编译器及Linux下的第一个C程序

  • 一、前言
  • 二、Linux下的C程序编写
  • 三、gcc编译器
  • 四、交叉编译器

一、前言

在前几篇中主要介绍了VMware虚拟机、Ubuntu操作系统以及VMware tools的安装及使用,这对我们以后想要做嵌入式linux开发毫无疑问是打下了重要基础。接下来,将会继续介绍如何编写第一个linux下的C程序?什么是gcc编译器?如何编译运行所编写的C程序?

二、Linux下的C程序编写

到目前为止,嵌入式linux开发的软件环境差不多搭建好了,现在就可以编写Linux下的C程序,跟Windows下编写C程序是一样的。
1、建立一个test.c的文件
2、添加头文件

#include <stdio.h>//标准输入输出

3、编写主函数

int main(void)
{
	printf("Hello Linux!!!\n");
	return 0;
}

到此,一个简单的linux下C程序就写好了,那么我们怎么将写好的.c文件编译运行呢?

三、gcc编译器

gcc原名为 GNU C 语言编译器(GNU C Compiler),因为它原本只能处理 C语言。GCC 很快地扩展,变得可处理 C++。后来又扩展能够支持更多编程语言,如Fortran、Pascal、Objective-C、Java、Ada、Go以及各类处理器架构上的汇编语言等,所以改名GNU编译器套件(GNU Compiler Collection)。
gcc编译生成步骤:预处理、编译、汇编、链接
1、预处理: 展开头文件/宏替换/去掉注释/条件编译

gcc -E tset.c -o test.i

2、编译:检查语法,生产汇编文件

gcc -S tset.i -o test.s

3、汇编:汇编代码转换成机器代码

gcc -C tset.s -o test.o

4、链接:将文件链接到一起生成可执行文件

gcc tset.o -o test

当然,每一条单独运行会很麻烦,可以使用一条命令直接将四个步骤综合起来,只会生成一个可执行文件test

gcc tset.c -o test

在这里插入图片描述
5、运行所生成的可执行文件
在这里插入图片描述

四、交叉编译器

所谓交叉编译器,就是在一种计算机环境(Linux)中运行的编译程序,能编译出在另外一种环境(ARM)下运行的代码。每个ARM公司都会提供自己的交叉编译器,大家可以选择自己合适的来进行编译。这里我所选择的是arm-linux-gnueabi,其运行命令和gcc差不多。在这里插入图片描述
因为我是在linux环境下运行的,而testarm是ARM平台下的可执行文件,所以一运行就会出现可执行文件格式错误,如果是在ARM平台下,就会打印Hello Linux!!!。到此为止,关于嵌入式linux开发的初步必要环境已经全部搭建完成,如果后面需要其他的大家可以自行配置。关于vim的使用以及gdb调试,大家可以看一下其他资料学习一下,而shell命令则只需记住常用的就可以了。大家如果有什么问题,都可以一起讨论的,以后我会不定期更新一些我遇到的问题等心得。
嵌入式Linux开发之环境搭建(一)
嵌入式Linux开发之环境搭建(二)
嵌入式Linux开发之环境搭建(三)
嵌入式Linux开发之环境搭建(四)

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值