gcc_MinGW小窍门
2016-07-09 23:25
288 查看
windows操作系统下MinGW用g++编译含有中文的C源程序。
新建一个helloCpp.cpp文件,用notepad++软件打开,编辑内容为:
将此文件编码格式设置为 windows平台UTF-8(无BOM)。因为GCC默认支持的源文件编码为UTF-8.
但是windows操作系统默认的中文编码格式为GBK,直接在cmd命令行下g++ -o helloCpp helloCpp.cpp生成的helloCpp.exe是乱码的。
用G++编译时必须加上编译参数-finput-charset=UTF-8 -fexec-charset=GB2312
这两个参数-finput-charset=UTF-8指定*.c源文件的编码格式为UTF-8,-fexec-charset=GB2312指定生成的二进制exe可执行文件内中文信息内码为GB2312,GBK可以直接显示GB2312信息。GBK向下兼容GB2312。gcc进行编译链接时会自动准换中文的内码格式。
命令为g++ -finput-charset=UTF-8 -fexec-charset=GB2312 -o helloCpp helloCpp.cpp
编译参数-std=c++11则启用C++11标准。。
新建一个helloCpp.cpp文件,用notepad++软件打开,编辑内容为:
#include <iostream> using namespace std; int main() { cout<<"你好,世界!"<<endl; cout<<"使用C++ 11标准。"<<endl; retrun 0; }
将此文件编码格式设置为 windows平台UTF-8(无BOM)。因为GCC默认支持的源文件编码为UTF-8.
但是windows操作系统默认的中文编码格式为GBK,直接在cmd命令行下g++ -o helloCpp helloCpp.cpp生成的helloCpp.exe是乱码的。
用G++编译时必须加上编译参数-finput-charset=UTF-8 -fexec-charset=GB2312
这两个参数-finput-charset=UTF-8指定*.c源文件的编码格式为UTF-8,-fexec-charset=GB2312指定生成的二进制exe可执行文件内中文信息内码为GB2312,GBK可以直接显示GB2312信息。GBK向下兼容GB2312。gcc进行编译链接时会自动准换中文的内码格式。
命令为g++ -finput-charset=UTF-8 -fexec-charset=GB2312 -o helloCpp helloCpp.cpp
编译参数-std=c++11则启用C++11标准。。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- C++联合体转换成C#结构的实现方法
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法
- C++中调用Lua函数实例
- Lua和C++的通信流程代码实例
- C++的template模板中class与typename关键字的区别分析
- C与C++之间相互调用实例方法讲解