编译arm linux gcc,linux编译安装软件
其实编译arm linux gcc的问题并不复杂,但是又很多的朋友都不太了解linux编译安装软件,因此呢,今天小编就来为大家分享编译arm linux gcc的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
GCC能否运行于ARM-Linux环境下即GCC能否在ARM平台上运行
简答:
gcc可以运行在arm-linux下。
gcc,可以在arm平台上运行。
详解:
gcc,一般指的是,pc版,x86的平台,
用于嵌入式系统,比如arm的cpu,linux的系统下,是:
本来,一直就可以的,
而且有专门的属于:
交叉编译
简答说就是:
在你的pc端,x86的cpu上,制作出一个交叉编译器
一般叫做arm-linux-gcc
用此arm-linux-gcc去编译你的程序
编译出来的程序,可以运行在嵌入式开发板,比如arm的linux下
极其详尽的解释:
我刚写个教程,你去看就知道了:
交叉编译详解
交叉编译详解
此教程的主要内容包括:
了什么是交叉编译
为何要有交叉编译
什么是工具链
什么是交叉工具链
交叉编译器的名字的命名规则:包括你这里所说的arm-linux-gcc的含义
如何获得交叉编译器
制作交叉编译器的各种工具:简介了常见的crosstool-ng,buildroot,crosstool等等工具
使用已有的交叉编译器和自己手动编译交叉编译器之间的对比
交叉编译方面的心得和注意事项
等你看完了后,建议用crosstool-ng,或者是buildroot去自己编译一个arm-linux的gcc。
arm-linux-gcc在linux上编译出在arm上运行的代码
为了在Linux上编译出可在ARM处理器上运行的代码,通常使用的是名为arm-linux-gcc的编译器。这个工具主要依赖于GNU工具链,它包括了多种编译器,链接器以及其它支持库。
如果您需要在Windows操作系统下使用arm-linux-gcc进行编译,那么您需要在Windows环境中安装一个兼容的编译环境。您可以寻找第三方提供的Windows兼容版本,或者安装一些在Windows上运行的虚拟环境,如Cygwin或者MinGW,这些环境模拟了Linux的运行环境,允许您在Windows下使用Linux工具,包括arm-linux-gcc。
至于ARM和MIPS架构的代码编译,arm-linux-gcc通常支持ARM架构,而对于MIPS架构的代码编译,您可以寻找支持MIPS架构的gcc版本,例如MIPS-Toolchain。
Codesourcery是提供嵌入式开发工具链的公司,其官方提供了2010版本的arm-gxx工具链,详情可参阅sourcery.mentor.com/GNU和mentor.com/embedded-software-engineering。这些资源提供了一系列的编译工具,包括arm-linux-gcc,适合在ARM处理器上运行的代码编译。
综上所述,在Linux环境下使用arm-linux-gcc编译ARM处理器的代码是可行的,且针对不同架构的代码编译,您需要选择对应架构的gcc版本。至于在Windows环境下使用,可以通过安装兼容环境或者虚拟机来实现。
gcc和arm-linux-gcc是什么关系区别是什么
gcc是linux系统下面用来将代码编译成一个可执行程序的手段。编译出来的是适用于linux系统的可执行二进制文件。可执行程序其实就是一堆的0101二进制机器码。这些机器码代表什么含义只有机器本身能理解。所以你用gcc编译出来的可执行程序只有在linux系统下面可以运行。举个例子你的可执行程序里面有一句01011.这句在linux下面可能是吃饭的意思,但是在windows下面可能01011是撒尿的意思。那你说linux的可执行程序放在window下面能正常运行吗?肯定不能嘛。你要的目的是吃饭,它帮你执行撒尿很显然就不对了。同样的可能01011在ARM下面的意思是睡觉。不同系统的机器码含义是不一样的。所以你在linux系统下面写的代码要怎样才能在ARM系统上面跑呢。这就需要用到交叉编译。arm-linux-gcc是什么意思?就是告诉你的编译器,我编写的环境是linux,但是我希望生成的可执行程序是在arm上面跑的。这就是交叉编译。编写环境和执行环境分离的一种手段。