打印
[PIC®/AVR®/dsPIC®产品]

编译老是报:variable "_aa" is not used

[复制链接]
1258|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kfhzy|  楼主 | 2014-10-25 11:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <pic.h>
__CONFIG(FOSC_INTOSC & WDTE_OFF & PWRTE_OFF & MCLRE_OFF & CP_ON & CPD_OFF & BOREN_ON & CLKOUTEN_OFF & IESO_OFF & FCMEN_OFF );//配置字1
__CONFIG(WRT_HALF & VCAPEN0_OFF& VCAPEN1_OFF& PLLEN_OFF & STVREN_ON & BORV_HI & LPBOR_OFF&  LVP_OFF );//配置字2
unsigned int aa ;
main()
{
aa=3;
}

Warning [1090] D:\ccl_prj\MyC\abcd\adssd.c; 4. variable "_aa" is not used

重新建立工程再编译 依然提示这个错误,用mplab sim 模拟main 里边是空的,没有语句
沙发
wuhenyouyu| | 2014-10-26 09:27 | 只看该作者
这不是警告嘛?

使用特权

评论回复
板凳
Rain_King| | 2014-10-26 11:46 | 只看该作者
这里是编译器,警告你,这个变量没有使用....没啥影响的,只是提示你而已............不过有时候可以根据这个提示来反应某些程序错误....

使用特权

评论回复
地板
kfhzy|  楼主 | 2014-10-27 19:26 | 只看该作者
这不仅仅是警告,当这个警告出现时,实际编译出来的程序里边,根本就不存在 aa 这个变量,aa=1 这个语句在生成的代码里不存在
我查了有人说是mplab 优化的结果,可是我将优化等级调到最低,也解决不了问题

使用特权

评论回复
5
wangch_sh| | 2014-10-27 19:38 | 只看该作者
感觉这个程序没啥意义。

使用特权

评论回复
6
kfhzy|  楼主 | 2014-10-30 10:06 | 只看该作者
我已经解决了,是我自己没有好好看手册,特殊用途的变量应加 volatile 标示,以保护变量不被编译器优化

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

113

帖子

2

粉丝