社区
汇编语言
帖子详情
COPY内存的问题.
wo_deaizainali
2008-03-21 08:56:08
.data
szlstr dword ?
invoke RtlMoveMemory,addr szlstr,lpstr,15
有个问题想不明白,szlstr定义的是dword四个字节,我COPY 15个字节进去,为什么会对呢,我想不明白,麻烦各位老大讲解讲解
...全文
95
7
打赏
收藏
COPY内存的问题.
.data szlstr dword ? invoke RtlMoveMemory,addr szlstr,lpstr,15 有个问题想不明白,szlstr定义的是dword四个字节,我COPY 15个字节进去,为什么会对呢,我想不明白,麻烦各位老大讲解讲解
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cnzdgs
2008-03-22
打赏
举报
回复
15是你通过参数传给RtlMoveMemory的。
智能卡_Snooper
2008-03-22
打赏
举报
回复
数据区并不是溢出就肯定会出错的,你可以定义一个 变量 a[ 1 ],你用a[ 1 ] = 9;并不一定错。
wo_deaizainali
2008-03-22
打赏
举报
回复
还有一个问题,我也很想不明白,为什么我读任何地址的时候,比如上面的,我读取szlstr的数据,他是怎么知道我要读15个字节呢.取其他内存地址数据也一样,为什么电脑知道我要读取多少字节呢.
cnzdgs
2008-03-22
打赏
举报
回复
上面看错了,你这两个变量长得太像了。
addr szlstr是取szlstr的地址(指针),lpstr是一个指针变量。
RtlMoveMemory函数中并不知道也不管传过来的地址是指向什么类型数据的,你指定多少长度它就移动多少。
这样的写法会导致内存使用溢出,szlstr之后的11字节内存会被覆盖,如果被覆盖的数据未使用或者不重要则看不出问题。
wo_deaizainali
2008-03-21
打赏
举报
回复
我顶啊,高手来帮帮忙解释解释啊
.data
szlstr dword ?
invoke RtlMoveMemory,addr szlstr,lpstr,15
有个问题想不明白,szlstr定义的是dword四个字节,我COPY 15个字节进去,为什么能成功COPY进去呢?
wo_deaizainali
2008-03-21
打赏
举报
回复
这个解释不对吧,我不觉得szlstr这个是指针,难道RtlMoveMemory是COPY的指针.
cnzdgs
2008-03-21
打赏
举报
回复
szlstr是一个指针变量,其内容是一个内存地址。
相关推荐
iphone
内存
管理2
iPhone 开发过程中,
内存
的使用至关重要。不但要合理分配使用
内存
,还要注意
内存
泄露的
问题
, 因为
内存
泄露会导致程序由于
内存
不足而崩溃。根据个人开发的经验来看,在开发iPhone程序的过程中,关于
内存
的
问题
需要注意以下几点:
内存
分配、释放成对出现 使用 alloc 分配的
内存
对象需要在用完后 调用release释放 注意
copy
,retain,assign操作符的区别
copy
内存
问题
再次注意
内存
问题
再次注意 对
内存
的存储和操作不太谨慎和注意 CString不能用strncpy来赋值,可以用CString str(char st[])也可以直接赋值str = st; char *与CString 赋值, CString str = char cs*; 在函数
copy
(char * ,char *)
copy
(cs, str.GetBuffer(0));---GetBuffe...
iPhone开发中
内存
的合理使用
iPhone 开发过程中,
内存
的使用至关重要。不但要合理分配使用
内存
,还要注意
内存
泄露的
问题
, 因为
内存
泄露会导致程序由于
内存
不足而崩溃。根据个人开发的经验来看,在开发iPhone程序的过程中,关于
内存
的
问题
需要注意以下几点:
内存
分配、释放成对出现使用 alloc 分配的
内存
对象需要在用完后 调用release释放 注意
copy
,retain,assign操作符的区别
copy
, retai...
结构体
copy
问题
结构体
copy
问题
c语言中,结构使用是非常频繁的,操作结构体时,我们一般使用memcpy对结构体进行
copy
赋值,其实我们忽略了一点,同一种类型结构体是可以直接进行赋值的。另外,本文介绍下使用memcpy
copy
结构体时的一些注意事项。 一.结构体
内存
对齐 使用memcpy对结构体进行
内存
copy
,首先要知道结构体的大小计算,最简单的方法使用sizeof(结构体类型)进行计算。当然,本文也介绍...
share_ptr
1、为了保证不会重复释放
内存
,auto_ptr的
copy
构造和
copy
赋值都是破坏性操作,执行后,导致右操作数的指针为0。这就出现了,
copy
构造或者
copy
赋值后,两个对象不相等了。 2、auto_ptr的
问题
就是,一块
内存
只能有一个指针指向它,为了解决这个
问题
,使用share_ptr。 3、share_ptr是如何实现的? a、内部有一个指向原始资源的指针。 b、内部...
发帖
汇编语言
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
2.1w+
社区成员
4.1w+
社区内容
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
帖子事件
创建了帖子
2008-03-21 08:56
社区公告
暂无公告