编译器和IDE的区别 如Eclipse、tasking,GNU,GCC,keil,IAR有什么区别?

知道IDE是集成开发环境,是将什么编译器、代码管理、链接等集中在一起的,如Eclipse
但是又说一半IDE都自带编译器,既然自带为什么还有什么硬件架构需要什么编译器和IDE呢?
1.IDE与硬件有关吗?比如是ARM架构,还是PPC架构,还是X86架构,还是Tricore架构还是其它半导体厂商的私有架构?
2.编译器应该与硬件有关吧,但是这个是直接在处理器或控制器半导体厂家查的?
3.编译器与用什么语言编程有关系吗?比如说我用c语言编程下载到ARM中,和用C++下载到ARM中,和用JAVA,C#写应用程序下载到ARM中有区别吗?(不知道可不可以写C#程序到ARM中)
4.编译器与IDE怎么对应,是什么编译器都可以集成到一个IDE中吗?比如说eclipse,我把GCC,tasking都集成进去,还是编译器和IDE也有类似的合作或者支持关系?
5.编译器与硬件的关系,是只关心到架构就可以了,还是还要关心其它的,比如ARM架构的生产厂商最多了,每个厂商拿过去都加了自己的一些特点,那MDK应该也不能支持所有的ARM吧
6.在一个嵌入式板上,用操作系统和不用操作系统,需要的编译器和IDE有区别吗?
非常感谢两位的回答,我还有点疑惑
2.1 编译器如果只关心的架构,这个是指比如就是ARM架构就可以了?还是编译器会根据是ARM V1架构还是ARM250架构还是ARM V3架构而不同?还是对应内核,比如ARM V4T架构对应的内核就有ARM7TDMI(-S),ARM710T,ARM720T,会根据内核不同,编译器就不一样吗?因为这个是我在看PLS的UDE发现,他说支持PPC架构,但看上面具体支持的怎么又只有
e200z0, e200z3, e200z4, e200z6, e200z7 Core
PowerPC Book E architecture,那e300不支持了?
2.2 那我怎么确定我选择的一个编译器能否集成到eclipse中?

0, 有些IDE是支持多种编译器和多种硬件架构的
1, IDE本身跟硬件没有关系, 是自带的编译器跟平台有关,但各硬件厂家会为自己定制或开发维护一个IDE方便开发,所以给你感觉IDE跟硬件平台有关了
2, 编译器与你是什么架构的CPU是有关的,不同架构的CPU,其机器指令不一样,所以需要不同的编译器
3, 如果你的编译器功能足够强大,是可以让你所想到的任何语言所描述的程序编译成你想要指定的硬件平台上去运行,不过事实上,这种万能编译器几乎很难实现,也就是:没有
4.要看IDE是否支持配置不同的编译器,ECLIPSE应该是可以配置GCC的
5. 编译器只管到架构一层,不会管到自己私加的一些功能上,私加的功能通常是厂商自己提供BSP开发包来解决的,而不是修改编译器
6.你这个问题没有意义,比如嵌入式板上跑裸机程序或用LINUX系统,那你所用的IDE通常来讲是不同的,甚至用LINUX OS的系统上运行的程序不需要IDE,只需要GCC,而如果你硬是想在宿主机上用LINUX平台开发裸机程序,用GCC去编应该也可以,但通常你都是在WINDOWS平台用一个所谓的IDE的软件去编一个IMG,然后烧到ARM平台上。

2.1 你在编译之前,肯定会选择你是哪个内核的ARM,或者选择你是哪一款芯片。这是配置问题,并无关编译器是否不同这个级别的问题上了。你可以咨询你现在所使用芯片的官方技术支持,问他们看哪个IDE或哪款编译器支持你想要的芯片。
2.2 同样,这类问题,要不,你可以百度谷歌,要不,就问芯片厂商技术支持。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-08-12
1. IDE与硬件平台有关。不同IDE携带的编译器不同。

2. 当然有关。不是半导体厂家提供的,而是编译器开发厂商提供的,也有很多开源的编译器。

3. 有关系。目前最常见的编译器仍然只支持C/C++,C#的编译器较少而且据说仍不完善。至于Java……哈哈,这种二道贩子还需要劳烦编译器?

4. 可以集成。具体的你需要查阅相应IDE的手册,看看能够集成/添加哪些编译器。

5. 关心到架构就可以。厂商自己扩展的东西多半就是些映射,你看厂商的外设就行;而且很多厂商都提供了易于开发的库(当然他们的库也都是够烂的,用熟了以后就可以扔掉)。

6. 是否用操作系统不影响编译器,整体而言也不影响IDE;当然IDE中如果能够添加针对操作系统组件的原生支持(重点是调试方面),用起来就更方便。本回答被网友采纳
相似回答