Keil MDK不支持结构体对指定元素初始化
来源:互联网 发布:手机淘宝注册步骤 编辑:程序博客网 时间:2024/04/29 16:06
结构体对指定元素初始化就是类似下面的操作:
struct test{ int a; int b;};struct test t = { .a = 1, .b = 2};
这样就能不按照结构体中的元素顺序对结构体进行初始化,这种方式在linux内核代码中使用的很多很多,但是在KEIL MDK中使用却报错:“expected an expression”。其实就是编译器不支持C99标准,我们可以打开C99模式让编译器支持C99标准:
在Misc Controls中添加–C99即可,如果使用的是MDK5的话在上面会有一个C99 Mode选项,选上即可。参考:http://www.openedv.com/posts/list/37045.htm
打开了C99模式之后可能会出现一些错误是因为原来的代码不符合C99的标准,例如函数返回类型如果是void的话在可以不用写void,但是C99模式下会报错,需要加上void才行,再如C99允许在函数中间定义变量,而没使用C99之前的的C标准是不支持在函数中间定义变量的,只能在函数的最开始定义所有变量,这点上我还是更喜欢C99标准的!!!。
阅读全文
0 0
- Keil MDK不支持结构体对指定元素初始化
- Keil 结构体变量初始化
- 结构体初始化--指定初始化
- 结构体指定初始化
- 对Keil MDK 启动代码的理解
- 对结构体初始化
- keil 5 for mdk 不支持lpc2138的解决办法
- keil 5 for mdk 不支持lpc2138的解决办法
- C99结构体指定初始化
- C99结构体指定初始化
- C99结构体指定初始化
- 结构体的指定初始化
- C99结构体指定初始化
- C99 结构体指定初始化
- C99结构体指定初始化
- C99结构体指定初始化
- C99结构体指定初始化
- C99结构体指定初始化
- 基于FPGA的串口通讯设计
- j2ee的web项目,调试,一定要使用Chrome谷歌浏览器的f12的console进行查看,特别是针对js的错误,没有它暴露不出来的错误
- C/C++ 判断文件夹是否存在以及创建、删除文件夹 windows以及linux通用
- 超时重试思考-非幂等请求
- 炫酷动画效果
- Keil MDK不支持结构体对指定元素初始化
- 关于不结束进程强删文件一点点看法
- Django 数据分页处理
- vue中props传值
- 物流链 WMS仓库条码管理系统提高效率
- [BIT0429]-Java多态:父类引用指向子类对象的原理
- Java-变量与常量
- java.util.Random.nextBoolean()方法实例
- java面向对象练习08(游戏角色)