1、 因不同平台上集成开发环境的编码格式不同造成代码移植后报很多奇怪error(xcode:utf-8, vstudio:GBK等)
- 对于国内用户来说,大多设置Windows操作系统语言为简体中文(编码为GBK或GB2312),由此导致Visual Studio 2017默认采用GBK/GB2312编码格式,其创建的项目文件(.cpp, .h等)都采用GBK/GB2312编码,可能会给代码的移植性带来一点阻碍(主要是中文乱码及因中中文注释引起等各种error),
- 解决方法:统一使用UTF-8(无bom)编码格式,那么具体要怎么修改呢?请看下文几种方法(视情况择一即可)。
- 法一:最简单的好像是修改操作系统默认语言为英语(English)(笔者没尝试),英语不错或者想锻炼英语能力的小伙伴可以试试(仅供参考)
- 法二:将VS设置使用utf-8编码:(使用VS2017的“高级保存选项”)
由于这个选项在vs2017中是默认隐藏的,需要手动调出来。具体操作方法如下:
1、单击“工具”➡“自定义”,弹出“自定义”对话框。
2、单击“命令”标签➡进入“命令”选项卡。
3、“菜单栏”下拉列表➡选择“文件”选项。
4、单击“添加命令”➡弹出“**添加命令”**对话框。
5、在“类别”列表中,选择“文件”选项;在“命令”列表中,选择“高级保存选项”选项。
6、单击“确定”按钮,关闭“添加命令”对话框。
7、选中“控件”列表中的“高级保存选项”选项,单击“上移”或者“下移”按钮,可以调整该命令的位置。
8、单击“关闭”按钮,完成“高级保存选项”命令的添加操作
然后选中高级保存选项,弹出的对话框可以选择编码utf-8
- 法三:使用ForceUTF8插件(一次可将所有代码文件格式转为utf-8)
在VS2017中:工具➡拓展和更新➡联机➡搜索框输入“ForceUTF8”➡下载安装
安装此插件后,所有文件均会以utf-8编码格式保存。
最后非常重要的一步,那就是指定使用utf-8编译!
选中当前项目——右键属性——配置属性——C/C++——命令行——输入/utf-8
只有完成这一步,warning信息才会真正消失。
2、c++ 标准库的使用
如std::max, std::min等在xcode可以正常使用,但在vs2017上需要对其进行加一层括号:(std::max), (std::min)