GCC 编码格式及编码转换

GCC 编码格式及编码转换

实用为主,相关知识背景另行查阅

编码场景

这里涉及的编码分为两个场景:源码文件的编码格式和源码中字符目标文件中的编码。

源码文件的编码格式

  • -finput-charset

该选项指源码文件的编码,如GBK,UTF-8,当然,你的host得支持。GCC调用host的字符转换功能将源文件的

编码格式转换为GCC内部编码格式UTF-8,然后再进行处理。

字符在目标文件中的编码

这个问题可以理解为你在源码中定义的字符串在内存中(当然是先编译进目标文件的)是如何被表示的。又要分

为两类:窄字符和宽字符。

  • -fexec-charset

即常用的 char 类型字符,每个字符占用1个字节,例如:

char str = "字符串";

  • -fwide-exec-charset

即 wchar_t 类型字符,每个字符占用4个字节,例如:

wchar_t wstr = L"字符串" 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值