首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IAR中的Value <unavailable>

IAR中的Value <unavailable>
EN

Stack Overflow用户
提问于 2014-11-25 17:31:22
回答 1查看 2K关注 0票数 1

我使用IAR (版本: 6.60.1.5104)来运行我的C项目。

我看到了一种奇怪的行为。

在调试时,我获得了一个在本地定义为zero的变量的值

例如:

代码语言:javascript
复制
int a = 0

但对于赋值为非零值的变量,则为<available>

我在下面提到了一个代码片段:

代码语言:javascript
复制
int someFun():
{
    int32_t a = 0; //IAR says it <unavailable>
    int32_t b = 1;
    printf("%d%d", a,b);
}

这种情况一直在发生。请帮帮忙

EN

回答 1

Stack Overflow用户

发布于 2014-11-25 17:33:17

这可能只是意味着变量已经被优化掉了,即当程序运行时没有变量。由于变量的值永远不会改变,优化编译器可以随意删除它,只需让printf()调用直接使用这些值即可。

反汇编程序以查看调用是如何生成的。

研究如何为您的特定编译器禁用编译器优化(请阅读文档)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27123017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档