局部变量和全局变量
这是我反汇编的一个小程序
#include <iostream>
using namespace std;
int x = 5; //////全局变量对应的汇编代码是在哪?
int f()
{
00101A80 push ebp
00101A81 mov ebp,esp
00101A83 sub esp,0CCh
00101A89 push ebx
00101A8A push esi
00101A8B push edi
00101A8C lea edi,[ebp-0CCh]
00101A92 mov ecx,33h
00101A97 mov eax,0CCCCCCCCh
00101A9C rep stos dword ptr es:[edi]
int x = 4;
00101A9E mov dword ptr [x],4
{
extern int x;
return x;
00101AA5 mov eax,dword ptr [x (107000h)]
}
}
00101AAA pop edi
00101AAB pop esi
00101AAC pop ebx
00101AAD mov esp,ebp
00101AAF pop ebp
00101AB0 ret
就是局部变量和全局变量存在不同的地方在这些汇编代码中是如何体现出来的,大牛们帮忙解答下
相关推荐
局部变量和全局变量总汇
局部变量和全局变量总汇,希望对大家有帮助!
全局变量、静态全局变量、静态局部变量和局部变量的区别2.pdf
变量可以分为全局变量、静态全局变量、静态局部变量和局部变量 按存储区域分:全局变量、静态全局变量和静态局部变量都存放在内存的全局数据区,局部变量存放在内存的栈区 按作用域分:全局变量在整个工程文件内都有效;静态全局变量只在定义它的文件内有效;静态局部变量只在定义它的函数内有效,只是程序仅分配一次内存,函数返回后,该变量不会消失;局部变量在定义它的函数内有效,但是函数返回后失效。
浅谈java中的局部变量和全局变量
主要涉及了java中的局部变量和全局变量,就二者的含义、生存时间和创建位置作了介绍,需要的朋友可以参考下。
C语言 全局变量和局部变量详解及实例
C语言 全局变量和局部变量详解 核心内容: 1、局部变量和全局变量 变量按照作用域分为:全局变量和局部变量 全局变量的作用域:从定义位置开始到下面整个程序结束。 局部变量的作用域:在一个函数内部定义的变量只能在本函数内部进行使用。 OK,上面的效果用Java语言实现一下: public class App1 { public static int k = 10;//相当于全局变量 public static void main(String[] args) { int i = 10;//局部变量 fun(); g(10); } p
c语言全局变量和局部变量问题及解决汇总
1、局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用”::” 局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。 2、如何引用一个已经定义过的全局变量? 答:extern 可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么



