社区
汇编语言
帖子详情
我的问题很简单,但是我就是不懂,我应该使用什么样的工具来看c语言的汇编代码(我用XP)?
oooracle
2007-01-04 01:59:50
int func()
{
int i ;
int g ;
int j ;
char h ;
i = 1;
j=10;
return j ;
}
这个简单的函数在X86/Linux下的汇编结果是什么?
请问变量g,h 在编译后占用空间吗?
因为不懂,所以望各位详细指点
...全文
197
8
打赏
收藏
我的问题很简单,但是我就是不懂,我应该使用什么样的工具来看c语言的汇编代码(我用XP)?
int func() { int i ; int g ; int j ; char h ; i = 1; j=10; return j ; } 这个简单的函数在X86/Linux下的汇编结果是什么? 请问变量g,h 在编译后占用空间吗? 因为不懂,所以望各位详细指点
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zara
2007-01-04
打赏
举报
回复
想转成什么样的汇编就找什么类型的 c 的编译器了. xp, 指是 Windows 类的汇编? 那就是 vc6/7 之类的了. cl /? 看一下什么参数可以创建 .asm 文件, 然后就 ....
oooracle
2007-01-04
打赏
举报
回复
我是XP那你看能用什么编译器呀????
需要帮助!
lptt
2007-01-04
打赏
举报
回复
找个编译器 自己去调啊 不能什么都帮吧 呵呵
oooracle
2007-01-04
打赏
举报
回复
lptt
int main()
{
int a = 10;
int b ,c;
a = a + 15;
b = b + 200;
c = a + b;
printf ("The result is %d\n",c);
return 0;
}
这段代码的汇编代码是什么????谢谢!!
oooracle
2007-01-04
打赏
举报
回复
为什么是add esp,-0x10
而不是sub呢?
难道栈增长的方向是高地址吗?
lptt
2007-01-04
打赏
举报
回复
问变量g,h 在编译后占用空间吗?
//////////////////////////////
我觉得这个问的有问题 讨论编译后没有意义
运行时
没有调用到func() func()内的所有局部变量都没有被创建
如果func()被调用 i g j h都要占用栈空间
步进调试
func()的汇编代码:
push ebp //保存栈指针
mov ebp,esp
add esp,-0x10 //为4个变量分配拉16字节的栈空间 因为4字节对齐
//i存储在ebp-0x04 g在ebp-0x08 j在ebp-0x0c h在ebp-0x0d
mov[ebp-0x04],0x00000001 //i=1
mov[ebp-0x0c],0x0000000a //j=10
mov eax,[ebp-0x0c] //return j
mov esp,ebp //恢复指针 销毁局部栈
pop ebp
ret
应该明白拉吧 给分吧 :)
编译器是c++ builder 6.0
oooracle
2007-01-04
打赏
举报
回复
那g,h在stack中怎么存放的,你能不能给我上面代码的所有汇编代码!谢谢
还有你说的
windows 下可以用 ollydbg 察看反汇编代码。
具体怎么操作呀?(我使一点都不懂,但是还使想知道运行时系统stack中变量怎么放)
大熊猫侯佩
2007-01-04
打赏
举报
回复
请问变量g,h 在编译后占用空间吗?
应该不占磁盘文件空间,它们是动态变量运行时在stack中被申请。
windows 下可以用 ollydbg 察看反汇编代码。
C语言
指针与
汇编
内存地址(二)
C语言
指针与
汇编
内存地址视频教程,该课程学习和
使用
过
C语言
的程序员都认为要做到对指针这一概念的透彻理解和灵活运用相当困难。本课程会详细讲解
C语言
与指针、以及如何查看
汇编
内存等
C语言
高级教程内容。
外挂编写完全攻略
外挂编写完全攻略一、先说一下写一个外挂需要什么条件 1、熟练的
C语言
知识 目前的外挂大部分都是用BC或者是vc写的,拥有熟练的
C语言
知识是写外挂的基本条件 2、具有很强的
汇编
基础 一般游戏都不可能有原
代码
的,必须...
CSAPP阅读笔记-程序的机器级表示
程序的机器级表示 计算机执行机器
代码
,用字节...GCC
C语言
编译器以
汇编
代码
的形式产生输出,
汇编
代码
是机器
代码
的文本表示,给出程序中的每一条指令。然后GCC调用
汇编
器和链接器,根据
汇编
代码
生成可执行的机器
代码
。
ARM
汇编
指令汇总
1、ARM
汇编
的格式: 在ARM
汇编
里,有些字符是用来标记行号的,这些字符要求顶格写;有些伪码是需要成对出现的,例如ENTRY和END,就需要对齐出现,也就是说他们要么都顶格,要么都空相等的空,否则编译器将报错。...
c语言
(http://c.biancheng.net/view/1714.html)
1.1 通俗地理解什么是编程语言 1.2
C语言
究竟是一门怎样的语言? 1.3
C语言
是菜鸟和大神的分水岭 1.4 英语和数学不好,能学编程吗? 1.5 进制详解:二进制、八进制和十六进制 1.6 二进制和八进制、十六...
汇编语言
21,458
社区成员
41,603
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章