keil 里面没有c99 mode
时间: 2023-07-11 12:53:54 浏览: 163
是的,Keil IDE不支持C99模式。Keil IDE支持的C语言版本是C89 / C90。如果您想使用C99标准的功能,建议使用其他IDE,如Code::Blocks,Eclipse等。或者,您可以使用Keil的扩展工具,如ARM Compiler 6或其他第三方编译器,这些编译器支持C99标准。
相关问题
keil5中u8未定义
在Keil5中,u8未定义的原因可能是缺少相应的类型定义。根据引用中的描述,你可以在E:\Keil_v5\ARM\ARMCC\include\#include "stdlib.h"文件中增加以下内容:
typedef unsigned char u8;
这样就可以定义u8为无符号8位整数类型了。
另外,根据引用中的描述,如果你移植LVGL时出现了这个问题,可能是因为没有在Keil设置中勾选C99 Mode导致的。请确保在Keil设置中勾选了C99 Mode选项,重新编译应该就不会出现这个错误了。
最后,根据引用中的描述,如果你想为不同位数的整数类型定义别名,可以使用typedef语句,例如:
typedef int8_t s8;
typedef int16_t s16;
typedef int32_t s32;
typedef int64_t s64;
keil uint8_t 报错
在Keil编译中,当出现"uint8_t is not a type name"的错误时,这通常是由于缺少对应的头文件或者编译器不识别该类型名导致的。根据引用[1]和引用[2]的描述,这个问题可能与C99模式的设置有关。
解决这个问题的方法是在Keil的设置中勾选C99 Mode选项。这个选项可以确保编译器能够正确识别C99标准中定义的数据类型,如uint8_t。勾选C99 Mode选项后重新编译,应该就能解决"uint8_t is not a type name"的错误了。[2]
另外,引用[1]中提到,有时候错误信息可能会给出一些其他的提示,比如"unrecognized token"。在解决问题时,我们应该从第一行报错开始逐行检查,确保所有的语法和标识符都正确定义和使用。[1]