他也受限于公共政策,比如,GPL也是版权
另外他所借鉴的内核(UNIX)是多平台支持的,所以才可以多平台技术支持,比如win,技术就没那个水平,自然不能
一个一个的来回答你的问题吧。1,不能说GCC一点都没有贡献,但LINUX的可移植可不是GCC就能解决的了的问题。
2,特殊的CPU,毋庸置疑linux代码一定要改。
3,这个问题很怪,只要遵循C语法,GCC当然可以编译,但我上面说过了,光靠GCC不能解决问题。
4,linux强大的移植性最重要的原因是因为它已经为每一个CPU都实现了代码,你可以在他的源代码包下找到很多以硬件名字命名的文件夹,这才是LINUX可移植的重要原因。
5,GCC是C编译器,所谓的C语言有移植性,比如说网络编程上的SOCKET这个概念,在每个 *** 作系统都是有实现的,linux或者windows,作为C的库函数,他把这2种实现都包容进来,再给你一个统一的接口,然后,当你把代码放到linux下编译时,他就会编译成linux下的支持,到windows下就成另一种,从而实现了跨平台。
6,究竟是先有谁,这个没有可比性。
7.完全没有可比性。
从你的问题看出,你还需要继续学习。你再继续学习就能明白可移植到底是如何实现的。2种方式:针对不同的东西我给出不同的实现,新加一种我就多一种实现这样可以达到可移植。例如linux。2,在出现之前我就给出标准,大家都遵守标准程序就可以移植,比如POSIX可移植 *** 作系统标准。
你听说过Unix *** 作系统没有?他就是在Linux上发展而来的,他也是一个 *** 作系统,就像windows一样是 *** 作系统,我现在就在用Linux系统,可以运行在嵌入式中,是嵌入式开发中最牛的一个系统,这方面比windows还厉害欢迎分享,转载请注明来源:内存溢出
评论列表(0条)