简单的说就是编译器不同。GNU C提供的功能更多,加入了很多奇奇怪怪的宏(特殊属性声明)来优化编译出来的机器指令。如果你看到类似___XXX()____这样的东东,多半就是GNU C里面定义的。Linux内核的编译用的是GNU C。用GNU C的扩展特性,程序的可移植性会变差。最后一点:GNU C就是gcc啦。
转载于:https://www.cnblogs.com/CalvinWang/p/5395649.html
简单的说就是编译器不同。GNU C提供的功能更多,加入了很多奇奇怪怪的宏(特殊属性声明)来优化编译出来的机器指令。如果你看到类似___XXX()____这样的东东,多半就是GNU C里面定义的。Linux内核的编译用的是GNU C。用GNU C的扩展特性,程序的可移植性会变差。最后一点:GNU C就是gcc啦。
转载于:https://www.cnblogs.com/CalvinWang/p/5395649.html