网上搜索到的一个问题案例:
MDK 无法编译某些中文字符串
目前用的MDK版本是最新的5.14;
程序代码:
const char *p = "我";
编译时提示:
..\User\main.c(59): error: #8: missing closing quote const char *p = "鎴?;
按照提示是缺少了一个引号,Encoding 改成 UTF-8也一样;
const char *p = "我们";
可以正常编译,没有出错。求解?
解决方法:
本人也遇到类似问题,Keil 4 编译带中文字符串程序正常,更新使用 Keil 5之后,编译报错。
在网上查看了相关问答,没有较好解决问题,因此将解决方法分享给大家:编译时,添加编译选项:
--no-multibyte-chars,控制编译器不处理多字节编码字符。