keil5数组下标异常

keil5数组下标异常,第1张

Keil5数组下标异常是指在使用Keil5编程时,数组的下标可能出现异常,比如数组的下标超出了数组的最大长度,或者下标为负数,这都会导致程序出现异常。为了避免这种情况,我们需要在编写程序时,对数组的下标进行有效的检查,以确保数组的下标不会出现异常。您可以在编写程序时,使用if语句来检查数组的下标,以确保数组的下标不会出现异常。

这个问题一般出现在移动库,或者将两个程序合并的时候报错
原因是旧版的库与新版的库发生冲突了,冲突的原因是旧版和新版都定义了同一个东西,比如“s32”,于是就会发生重定义的报错
解决这个问题的方法其实也不难,因为编写程序的时候有一个防止重定义的宏,在新版的库里面添加这样的一个宏就可以消除大部分的错误了
我们先找到从定义的地方,双击错误跟踪到报错的地方我们可以看到这里就是type定义的地方,看到上面有一个“#ifndef __STM32F10x_TYPE_H”,这个就是旧版的宏,只要将这个宏在新版的相应位置定义一下就好
到新版的库文件中,注意要消除只读的设置,从错误来看,是“s32”发生了重定义,那么就是说,新版的库应该也是有“s32”的定义,于是用搜索功能,找到“s32”定义的地方
然后在这个定义的上方补充定义这个宏就可以解决一部分的问题了,添加这样一段
#ifndef __STM32F10x_TYPE_H//补充定义旧版的宏
#define __STM32F10x_TYPE_H
#endif
#47-D: incompatible redefinition of macro "SCS_BASE" 的错误解决方法也差不多,补充定义旧版宏即可解决大部分问题,这次是在core_cm3c文件中,注意解锁

解决方法:

1、我们需要修改文件所在的文件夹或者磁盘的安全权限;

2、右键点击您想打开的文件的磁盘盘符,选择属性,选择安全,更改您当前用户为“完全控制”;

3、用同样的方法对你想打开的文件的所在的文件夹更改当前用户为“完全控制”;

4、取得管理员权限然后再来对文件夹进行修改!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13324127.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-15
下一篇 2023-07-15

发表评论

登录后才能评论

评论列表(0条)

保存