请教静态变量反编译问题谢谢

zll_lover 2010-09-13 05:27:29
请问
int main() {
static int len1=9;
int len = 8;

我反汇编看不到静态变量len1的有关信息啊,请问如何产看我用的是vc++
以下是反编译后的记过
14: static int len1=9;
15: int len = 8;
00401098 mov dword ptr [ebp-4],8
...全文
200 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
东大坡居士 2010-09-13
  • 打赏
  • 举报
回复
学习了~~~~~~~~~~~~~
熊熊大叔 2010-09-13
  • 打赏
  • 举报
回复
static int len1=9;
在数据段里会出现
DB len1 0x00000009
而不是代码段
Proteas 2010-09-13
  • 打赏
  • 举报
回复
静态变量一般在程序的数据区,反编译整个程序,然后在数据段中找。
sky198306 2010-09-13
  • 打赏
  • 举报
回复
取地址就可以看了
pengzhixi 2010-09-13
  • 打赏
  • 举报
回复
int*p=&lenl;这样也可以
wogan1 2010-09-13
  • 打赏
  • 举报
回复
内存里有的,改成这样再反汇编就能看到了

static int len1=9;
int len = 8;
len+=len1;
zll_lover 2010-09-13
  • 打赏
  • 举报
回复
感谢楼上但至少应该放入一个内存位置吧
wogan1 2010-09-13
  • 打赏
  • 举报
回复
静态变量不在堆栈里,在程序载入的时候就初始化了,所以没有对应的代码。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧