网上搜索到的一个问题案例:

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,控制编译器不处理多字节编码字符。

胚芽五谷
9 声望0 粉丝

嵌入式软件工程师, C 编程,Linux / MCU(C51/STM32/STM8)


引用和评论

0 条评论