c++ 静态存储区 常量 简单的问题 大家都知道一个字符串 比如“hello”是存储在静态存储区的 也有人说是放在“文字常量区” 反正不同的人对windows内存管理的理解也不同 反正“hello”的生命周期是和程序的生命周期一样的 那么:大家又知道 char s【】 = “hello”; 这是系统会从hello这个字符串拷贝一份来给s数组 那么int a = 1;这个数字1又是存放在哪里的呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 何为立即数 生命周期如何 “hello”这个字符串呢 也算是立即数么 何为立即数 生命周期如何 “hello”这个字符串呢 也算是立即数么 代码区常量区全局区栈堆你要分清比如:int a=1; a在栈中,a是个变量,它保存的值为1,但是 代码中也有个1 static类型的对象存在静态存储区,静态存储区是在全局区吧 LPWSTR p = L"hello" "hello"在数据区int a = 1. 这个1直接写在代码区的.mov a,1 : 1是占整条指令内存的,紧跟在a的后面. 立即数就是字面常量,mov memory,{ address | literal value }指令要把一个值复制到另个地方,要么复制地址,要么复制字面值.WIN32下,地址和值最多都是4个字节.大块内存用4个字节地址值引用,但字面常量本身用4个字节就可以表示,没必要把1先放在数据区,然后把1的地址在放在指令内存中.而这里的1在指令中用一个字节就够了,用地址指令反尔会更胖. picture控件的重绘 怎样把txt文件中的记录显示在列表框中 LPTSTR temp = MAKEINTRESOURCE(IDB_BITMAP1);为什么返回错误指针?请达人解惑 请教数字签名,在<安全设置警告>中为什么总显示我的.cab包的文件路径~,郁闷 关于CTreeCtrl的DeleteAllItems方法 如何截取并分析网页内容 怎么在tab里加入CPage页?? 小问题,大虾帮忙,谢先。 请问如何做一个带资源的dll 如何用MFC实现PDF到TXT文件格式的转换 请问常用的带纹理信息的模型文件格式有哪些? 自己写的MFC程序,出现0xc000007b
何为立即数 生命周期如何 “hello”这个字符串呢 也算是立即数么
你要分清比如:int a=1; a在栈中,a是个变量,它保存的值为1,但是 代码中也有个1
int a = 1. 这个1直接写在代码区的.
mov a,1 : 1是占整条指令内存的,紧跟在a的后面.
立即数就是字面常量,
mov memory,{ address | literal value }
指令要把一个值复制到另个地方,要么复制地址,要么复制字面值.
WIN32下,地址和值最多都是4个字节.大块内存用4个字节地址值引用,但字面常量本身用4个字节就可以表示,没必要把1先放在数据区,然后把1的地址在放在指令内存中.而这里的1在指令中用一个字节就够了,用地址指令反尔会更胖.