gpt4 book ai didi

记录一个Linux代码移植到Windows平台下的VisualStudio2022的代码编码格式的问题

转载 作者:撒哈拉 更新时间:2024-11-25 14:25:15 80 4
gpt4 key购买 nike

1、前言

工作上与公司的前辈对接,他给了我一份在linux下面编写的代码压缩包,按照道理来说使用条件宏编译不同的windows和linux的API即可实现代码的通用。但是我在Visual Studio 2022下面编译的时候缺发生了非常奇怪的事情。随便编译就出现很多报错,但实际上这些报错并不是真正的报错,具体见图:

image

image

这个问题一直卡了我很长的时间,最开始以为是平台工具集的问题、或者是C++语言标准、C语言标准的问题。最后都排除掉了.

2、问题的解决

问题的解决是Visual Studio 2022 当中的一段警告,具体如图 警告内容:

严重性	代码	说明	项目	文件	行	禁止显示状态	详细信息 
警告	C4819	该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失	

于是我就去搜索了,发现是Linux和Windows下面的UTF-8编码保存格式不同导致的问题,Linux下面保存的UTF-8是without BOM的(不带签名)。而Windows下面保存的UTF-8是with BOM(带前面的),所以解决这个警告的办法就是在Visual Studio 2022 当中对文件进行重新保存,将其保存为UTF-8 with BOM(带签名)即可:

这个高级保存选项的打开可以参考下面的博客链接: https://www.cnblogs.com/willingtolove/p/12121577.html 。

再我解决完这个问题之后,一大堆的报错就这么水灵灵的解决了== 。

3、为什么会导致这个问题

找了些博客,可以参考一下,后续再补充自己的理解 。

https://blog.csdn.net/weixin_50464560/article/details/119277677 。

https://www.cnblogs.com/fayin/p/15402957.html 。

https://www.zhihu.com/question/20167122 。

最后此篇关于记录一个Linux代码移植到Windows平台下的VisualStudio2022的代码编码格式的问题的文章就讲到这里了,如果你想了解更多关于记录一个Linux代码移植到Windows平台下的VisualStudio2022的代码编码格式的问题的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

80 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com