如果仅考虑 Windows 平台,不用 msvc 而去用 gcc 的理由有哪些?
发布网友
发布时间:2022-05-13 18:04
我来回答
共1个回答
热心网友
时间:2023-10-19 14:13
1、大部分跨平台的大型C程序(如ffmpeg)早已完全使用C99标准编写,而msvc的编译器CL直到2015年才较好地支持了C99;
2、msvc的侧重点是对C++标准的支持以及对Windows SDK的支持,而不是对C语言的支持。
3、msvc的编译器很难用于生成和环境无关的代码,用来编译像Bootloader、系统内核之类的特殊程序时会有麻烦。
4、msvc的编译器CL的命令行参数和gcc、clang等几乎完全不兼容,所有的makefile和其他脚本都必须专门为其做较大改动。
5、msvc工具链(编译器、链接器、nmake等)的ABI和gnu工具链的只有单向兼容,无法链接由gnu工具链生成的库。