C语言基础补习
coolshell 中一个小例子在VC6.0编译后反汇编结果仅作记录:
源码:
#include <stdio.h>
int main(void)
{
int a[];
printf("%x\n", a);
printf("%x\n", a+);
printf("%x\n", &a);
printf("%x\n", &a+);
}
VC6.0编译后的汇编代码:
: int a[];
: printf("%x\n",a);
8D EC lea eax,[ebp-14h]
0040103B push eax
0040103C 1C push offset string "%x\n" (0042201c)
E8 BA call printf ()
C4 add esp,
: printf("%x\n",a+);
8D 4D F0 lea ecx,[ebp-10h]
0040104C push ecx
0040104D 1C push offset string "%x\n" (0042201c)
E8 A9 call printf ()
C4 add esp,
: printf("%x\n",&a);
0040105A 8D EC lea edx,[ebp-14h]
0040105D push edx
0040105E 1C push offset string "%x\n" (0042201c)
E8 call printf ()
C4 add esp,
: printf("%x\n",&a+);
0040106B 8D lea eax,[ebp]
0040106E push eax
0040106F 1C push offset string "%x\n" (0042201c)
E8 call printf ()
C4 add esp,
: return ;
C语言基础补习的更多相关文章
- 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(下)
索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 五.透视.逆透视及分组 5.1 透视 所谓透视( ...
- 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(上)
索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 一.SQL Server体系结构 1.1 数据库 ...
- C#语言基础
第一部分 了解C# C#是微软公司在2000年7月发布的一种全新且简单.安全.面向对象的程序设计语言,是专门为.NET的应用而开发的.体现了当今最新的程序设计技术的功能和精华..NET框架为C#提供了 ...
- C语言基础回顾
第一章 C语言基础 1. C语言编译过程 预处理:宏替换.条件编译.头文件包含.特殊符号 编译.优化:翻译并优化成等价的中间代码表示或汇编代码 汇编:生成目标文件,及与源程序等效的目标的机器语言代码 ...
- 黑马程序员_ C语言基础(二)
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 概览 今天基础知识分为以下几点内容(注意:循环.条件语句在此不再赘述): 1.Hello W ...
- C#语言基础— 输入与输出
C#语言基础— 输入与输出 1.1函数的四要素:名称.输入.输出.加工 1.2主函数:输出语句.输入语句: Static viod Main(string[] stgs)//下划线部分可以自己指定 { ...
- 【GoLang】GO语言系列--002.GO语言基础
002.GO语言基础 1 参考资料 1.1 http://www.cnblogs.com/vimsk/archive/2012/11/03/2736179.html 1.2 https://githu ...
- R语言基础:数组&列表&向量&矩阵&因子&数据框
R语言基础:数组和列表 数组(array) 一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的. 数组函数是array(),语法是:array(dadta, d ...
- OC语言基础知识
OC语言基础知识 一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能 ...
随机推荐
- Visual Studio 14 初试,vNext
下了几天的VS 2014 .终于安装上了,花了好几天时间, VS 2014 下载地址, http://www.visualstudio.com/en-us/downloads/visual-stud ...
- [转载]给IT人员支招:如何跟业务部门谈需求分析?
一提跟业务人员做“需求分析”,许多IT人员立刻就头大了,要么不在同一个“频道”讲话,要么“变来变去,定不下来”.如何跟业务部门谈需求分析呢,我们带着这个问题,与聚冠因尚的咨询顾问杨春波展开了讨论. 1 ...
- CentOS 7 用户怎样安装 LNMP(Nginx+PHP+MySQL)
关于 Nginx (发音 “engine x”)这是一款免费.开源.高效的 HTTP 服务器,Nginx是以稳定著称,丰富的功能,结构简单,低资源消耗.本教程演示如何在CentOS 6.5服务器(适用 ...
- .net 环境下get 获取页面出现乱码问题解决
不多说了,先上代码: /// <summary> /// 获取页面内容 /// </summary> /// <param name="Url"> ...
- robocopy 命令小结
robocopy "C:\dira" "J:\dira" /E /COPYALL /XJ /XD "C:\dira\dir1" " ...
- Oracle 作业设置完不执行解决
在日常的工作当中,已经几次遇到Oracle数据库 建立了新的作业但是不执行的问题.写下来给大家分享一下. 我们日常在 dbms_job这个包建立了相关作业,但是到点也不会执行,在百度上看了一下 并且给 ...
- OpenGL 像素在内存中的排列方式
在OpenGL中所有和图像像素有关的API(包括glTexImage2D, glReadPixels等)第一个像素从左下角开始,从左到又一次排列,满了从下到上排列. 这个和Windows 下惯用的左上 ...
- Linux学习笔记——重点推荐的Linux网络在线学习资源
首先非常感谢百度,感谢网络的搜索引擎技术,也非常感谢学习资源的贡献者和组织! 1:http://billie66.github.io/TLCL/book/zh/ 2:http://www.ha97. ...
- Eclipse+MinGW+Boost环境搭建
一.编译 运行 .bat 生成bjam.exe 运行:bjam --build-type=complete toolset=gcc stage 二.配置 配置eclipse -L Path加入链接库位 ...
- 在iframe中使用cookie需要注意
cookie的使用早已不新鲜了,但是最近在做项目时还是被坑了一把. 那么接下来让我们来看一下这个"坑"是个什么情况! 前提: 1.现在有两个页面A.html, B.html,同时, ...