c语言编译c141,弃用MSVC编译器,使用跨平台编译器CLang,让我们学习C语言更加规范...

MSVC和CLang编译器都是支持UTF8编码的,也就是说是支持中文命名方式的.

下面说一下他们之间的区别吧!

如果是入门,中国人学习C语言最好是使用MSVC,因为它的帮助及提示全是中文的,而且和QT的结合程度要比Clang要好.

如果是想正规学习C语言而不是C++语言规范,建议使用Clang编译器,MSVC对C语言的支持不是很好,并且不支持X64汇编(只支持X86汇编).

windows平台学习C语言使用MSVC编译器,linux使用GCC编译器,MAC平台使用Clang编译器,这是最佳的组合.

[最为推荐的方案]:在程序准备发布时,分别使用MSVC和Clang编译器检查错误及警告.最终发布时windows平台使用MSVC,其他平台使用CLang.

生成最终文件编码不同

MSVC不管源C文件是GBK还是UTF8编码,生成的exe文件都是GBK的.而windows控制台本身就是GBK编码,所以一般不会出错.

CLang生成的最终exe文件编码是根据源C文件编码而定的,如果源C文件是GBK,就生成GBK的.如果源C文件是UTF8的就生成UTF8的.

但GBK的源C文件不支持中文命名,我们需要使用英文命名方案,这无形增加我们的学习成本.一般使用UTF8的源C文件编码即可,完美支持中文命名方案.

错误或警告提示

在源C文件为UTF8的情况下,Clang的错误提示更加严格,但提示都是英文的,不过没有关系,翻译一下即可.(完美支持最新C/C++标准).

MSVC的错误提示不是很智能,很多错误提示都显示不出来,不利于学习C标准(MSVC对C/C++标准支持不完善,但如果只用C++会比较友好).

兼容性

MSVC有很多老的项目都可以正确在win7系统上运行,win10也是没有问题的,但不支持Linux和MAC系统.

CLang兼容性没有MSVC好,如"firefox浏览器"使用的是Clang编译的,在win7系统下运行不怎么好,在win10无问题,但它支持linux和MAC系统.

这样子说并不代表CLang不支持win7,它不仅完美支持win7还支持XP,只是由于我们在编辑软件的时候使用的是win10的SDK,自然对win7不友好.

如:OBS Studio在win7系统下兼容性不怎么好,且win7已经停止更新了,更多的人会选择win10.只是由于很多人不会优化win10,导致体验不好.

Clang兼容GCC和MSVC的标准代码,反过来GCC不兼容CLang,MSVC也是不兼容Clang的标准代码的.[Clang支持windows/linux/mac平台]

MSVC只支持Windows平台,且只对C++和Windows SDK支持友好,像C或其他东西,支持的效果不行.

另外说一下GCC这个编译器,真正的全能,几乎支持所有语言,但由于支持的太多了,生成效率和运行速度不如MSVC和Clang.

Debug和Release文件大小

Debug调试的时候,生成的文件体积,MSVC的大小是CLang的是1.5倍,我们测试了MFC和控制台应用都是这样子.

Release方面,由于MSVC和Clang编译器底层都是使用的Windows专用的CL编译,体积MSVC比Clang只大1kb,几乎可以说是相同的大小.

所以Clang更多的体现是在调试Debug的时候,可以更有效的发现问题并去解决,节省了非常宝贵的时间.

【你乐科技版权】站内所发布的一切原创内容,转载请说明是由《你乐科技》发布,内容仅限用于学习和研究,不得用于商业或非法用途,否则,一切后果请用户自负。本站信息部分来自网络,版权争议与本站无关。您必须在下载后的24小时内,彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

邮箱地址:nilekeji@163.com

最后于 9月前

被酷乐Happy编辑

,原因:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值