发布网友 发布时间:2022-04-30 18:44
共4个回答
热心网友 时间:2022-06-30 01:23
gcc是linux系统下面用来将代码编译成一个可执行程序的手段。编译出来的是适用于linux系统的可执行二进制文件。可执行程序其实就是一堆的0101二进制机器码。这些机器码代表什么含义只有机器本身能理解。所以你用gcc编译出来的可执行程序只有在linux系统下面可以运行。举个例子你的可执行程序里面有一句01011.这句在linux下面可能是吃饭的意思,但是在windows下面可能01011是撒尿的意思。那你说linux的可执行程序放在window下面能正常运行吗?肯定不能嘛。你要的目的是吃饭,它帮你执行撒尿很显然就不对了。同样的可能01011在ARM下面的意思是睡觉。不同系统的机器码含义是不一样的。所以你在linux系统下面写的代码要怎样才能在ARM系统上面跑呢。这就需要用到交叉编译。arm-linux-gcc是什么意思?就是告诉你的编译器,我编写的环境是linux,但是我希望生成的可执行程序是在arm上面跑的。这就是交叉编译。编写环境和执行环境分离的一种手段。热心网友 时间:2022-06-30 01:23
gcc是在linux下编译时用的命令,编译出来的程序需要在linux操作系统下运行,arm-linux-gcc是在用arm板交叉编译的时候使用的,最后编出来的程序是要烧写到arm板子里边去执行的。追问两者有什么联系吗?
热心网友 时间:2022-06-30 01:24
gcc是x86架构指令用的热心网友 时间:2022-06-30 01:24
arm-linux-gcc是gcc的一种特殊版本。