本应昨天写这篇的,但是不知怎么忘了,今天就补上吧。
其实gcc就是一个编译器,但它不是集成开发环境,集成开发环境包括编辑器,编译器,调试器,比如我们写单片机常用的keil,gcc可以在windows下使用(gcc for windows),也可在linux下使用。在windows下,你可以用记事本写程序(也就是编辑程序),然后保存为需要的格式(比如.c或.s)。然后用gcc编译,就可编译出可执行文件。在linux下也是一样,你可以用vi编辑程序,再用gcc编译。
下面说说arm-linux-gcc,交叉编译工具。其实这也是个gcc,这个gcc可以在linux下运行,(估计也可在windows下运行,具体还没见谁用过),我们在linux下用vi写的程序用arm-linux-gcc编译一下,生成的可执行文件,这个可执行文件就可在你的arm开发板上运行,你的开发板必须装的是linux操作系统。如果你只是用gcc编译,不是交叉编译工具(arm-linux-gcc),那么你编译完的程序不能再arm平台运行。
也就是说,同样编译出的可执行文件,不同的编译器编译出的可执行文件只能在相应的平台运行。 |