社区
C语言
帖子详情
一个反编译问题
zll_lover
2010-09-16 04:58:38
13: const int len = 10;
00401098 mov dword ptr [ebp-4],0Ah
14: char op='c';
0040109F mov byte ptr [ebp-8],63h
15: char ty='d';
004010A3 mov byte ptr [ebp-0Ch],64h
在c里面是连续声明的,为什么反编译后内存不是连续起来的呢?
谢谢
...全文
158
7
打赏
收藏
一个反编译问题
13: const int len = 10; 00401098 mov dword ptr [ebp-4],0Ah 14: char op='c'; 0040109F mov byte ptr [ebp-8],63h 15: char ty='d'; 004010A3 mov byte ptr [ebp-0Ch],64h 在c里面是连续声明的,为什么反编译后内存不是连续起来的呢? 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zll_lover
2010-09-17
打赏
举报
回复
请问楼上字节对齐我看明白了可是都是针对struct的文章,
貌似在函数里和字节对齐概念不是一回事吧?谢谢帮忙解释下
int a=6;
char b='c';
short c=6;
与
char b='c';
int a=6;
short c=6;
放在函数里是一样的,但放入struct里是不一样的
kostion
2010-09-17
打赏
举报
回复
操作系统字节对齐的概念,搜一下字节对齐就知道了
job82824
2010-09-17
打赏
举报
回复
char应该是1个字节。C语言中的int才是两个字节的。
连续声明并不表示变量的地址就连续,在C/C++中也一样,这个变量地址如何分配是编译器来控制的,你只要记得在堆(动态的)和栈(静态的)上分配就行了。
如果希望所有的变量地址连续,不妨采用数组方式
usigned char *myCache = malloc(_MY_SIZE);
if(myCache)
{
int *myINT = myCache[0];
char *myChar1 = myCache[2];
char *myChar2 = myCache[3];
...
}
熊熊大叔
2010-09-17
打赏
举报
回复
在结构里(假设是缺省的4字节对齐)
则1字节的变量,可以存在任何位置
2字节的变量,必须在偶数地址开始,
4字节的变量,必须在能被4整除的地址开始。
不满足条件的就需要补齐
在函数里,所有局部变量都必须在能被4整除的地址开始。
zll_lover
2010-09-17
打赏
举报
回复
再顶顶等高手回答
退一步海阔天空l忍一时风平浪静
2010-09-16
打赏
举报
回复
就是这样!
[Quote=引用 1 楼 truelance 的回复:]
是连续的,每个局部变量占用的内存都必须是4字节的整数倍。
即使是char类型,也要占用4字节(当然有3字节是无用的,仅为提高读取效率)
[/Quote]
熊熊大叔
2010-09-16
打赏
举报
回复
是连续的,每个局部变量占用的内存都必须是4字节的整数倍。
即使是char类型,也要占用4字节(当然有3字节是无用的,仅为提高读取效率)
APK防
反编译
技术PPT
我们的APK实际上就是
一个
ZIP压缩文件,里面包含有
一个
classes.dex,我们编译后生成的程序代码就全部在那里了,通过apktool等工具可以轻松地将它们
反编译
成smali代码。有了这些
反编译
出来的smali代码之后,我们就可以...
unity3d文件
反编译
工具
反编译
unity3d文件 点击'new project'选择要
反编译
的文件。 先点‘New project’选择unity3d文件,再点'Unpack Web Archrive in a directory'选择导出的文件夹。
反编译
Android应用
学习技术的渠道多种多样,而通过
反编译
一些经典应用来学习是一种比较好的途径,在Android领域,有比较好的
反编译
工具,本课程将会教大家如何
反编译
Android应用。
Android
反编译
工具
Android
反编译
工具,博客请见:Android APK
反编译
详解(附图) http://blog.csdn.net/sunboy_2050/article/details/6727581
android
反编译
工具(dex2jar,apk2java)
Android APK
反编译
得到Java源代码和资源文件的工具
反编译
apk生成程序的源代码和图片、XML配置、语言资源等文件的工具
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章