[Android]安全第五步,看懂汇编(续)
来源:互联网 发布:spss17.0软件下载 编辑:程序博客网 时间:2024/05/06 17:33
我们可以看出来c2需要间接寻址,因为c2存在于堆中,而c1则不需要,直接放到sp栈中
void testClass(){在类中,其内存分布与struct一样,
class MyTest{
public:
char * dd;
void SetX(double mx,char my, char* mz){
x= mx;
y= my;
z= mz;
f= 32.23;
}
protected:
float f;
char e;
private:
double x;
char y;
char * z;
char * dz;
};
char addda[] = "atttd";
MyTest myTest;
myTest.SetX(1.1,'2',addda);
}
上面的dword_2858其实就是0x9999999A, 0x3FF19999,不同的是因为要放到double中,参数是double类型的,所以需要放到64位中,
其中setText方法就是
在编译器中,有多少对象,就有多少个类的成员变量,即为成员变量随着类的对象生成而生成,但是方法就有一个~
void testUnion(){共同体union的多个变量在同一个内存区域里面,
typedef union Student{
int age;
float ddd;
char * monday;
char tuesday;
short dsd;
}Student;
Student * dd = (Student * )malloc(111* sizeof(Student));
dd->age = 1;
dd->dsd = 12;
(&dd[2])->age= 2;
Student ccd[2322];
ccd[1].age=2;
ccd[1].ddd=3;
(&ccd[2])->ddd=21.21;
}
共用体表示几个变量共用一个内存位置,在不同的时间保存不同的数据类型和不同长度的变量。
在union中,所有的共用体成员共用一个空间,并且同一时间只能储存其中一个成员变量的值。
http://blog.csdn.net/haiou0/article/details/6903463
void testEnum(){
enum Days{sunday,monday,tuesday};
enum Days theDay;
theDay = (enum Days)(0);
if (sunday == (theDay)){
printf("eee");
}
}
枚举在存储过程中明显也是0,1,2,3.。。的样子。注意枚举的用法。
0 0
- [Android]安全第五步,看懂汇编(续)
- [Android]安全第四步,看懂汇编
- 九步看懂JSP
- [Android]安全第三步,ARM寄存器
- 浅入浅出 Android 安全:第五章 Android 应用层安全
- Android应用程序访问linux驱动第五步:回顾hw_get_module
- [Android]安全第二步,基础的开始,分析平时写法与安全
- 循序渐进学J2Me,第五步
- WebRTC第五步:环境准备
- 海思Hi3518e安装第五步
- Android底层开发(二)之编写驱动测试程序 第五步
- Android蓝牙一篇看懂
- [安全]基础知识(汇编)
- 教你四步看懂知网查重检测报告
- 教你四步看懂知网查重检测报告
- 第五章: 汇编器指令
- 第五章纯汇编版
- 汇编学习笔记 第五章
- RGB图像之灰度级和通道的理解
- 2815: [ZJOI2012]灾难
- 使用adb命令时的错误
- Win7下Ant的安装与配置
- iOS编译问题:Property's synthesized getter follows Cocoa naming convention for returning 'owned'
- [Android]安全第五步,看懂汇编(续)
- 最近两年的总结
- 快学Scala(2) 控制结构和函数
- CollapsingToolbarLayout 与 TabLayout结合使用实现炫酷效果
- Android开发之拥有Material Design风格的折叠布局
- 清除浮动
- Minimizing quadratic energies with constant constraints
- XMPP学习1-认识XMPP
- angularJS1 url中携带参数的获取