- 博客(5)
- 收藏
- 关注
原创 成员函数指针,动态绑定(vc平台)
上一篇介绍了gcc对成员函数指针做了thunk的处理,本篇介绍vc对成员函数指针如何处理,还有动态绑定相关的处理。 同样用回上一篇的例子: struct point {float x,y;}; struct obj { virtual ~obj {} void foo(int) {} void foo(point) {} virtual void vfoo() {} }
2016-01-01 12:00:55 413
原创 函数指针和成员函数指针有什么不同,反汇编带看清成员函数指针的本尊(gcc@x64平台)
函数指针是什么,可能会答指向函数的指针。 成员函数指针是什么,答指向成员函数的指针。 成员函数指针和函数指针有什么不同? 虚函数指针和非虚成员函数指针有什么不同? 你真正了解成员函数指针了吗? 本篇带你看一看反汇编中,成员函数指针的实体,以及运作机理,与函数指针到底有什么不同。 函数指针是函数执行功能的第一条机器指令的地址,这样描述也不让人满意,至少比指向函数的指针具体一些。也就是ca
2015-12-30 10:40:16 432
原创 gcc在x64体系中如何传递参数
上一篇介绍了vc(windows)平台在x64体系当中,c函数的传参方式。本篇将要介绍gcc(类linux,mac)平台在x64中,c函数是如何传参的。 为节约时间和篇幅,首先来定义一个有十个参数的函数,参数类型包罗了内嵌类型: int foo(char c, short s, int i, long l, long long ll, char* p, // 前6个参数,注意我的划分和参数
2015-12-29 17:12:08 1858
原创 iOS objc在simulator-x86_64体系下一般传参方式
x86_64体系下函数传参数方式不同于ia32体系传统堆栈传参方式,除此外根据编译平台不同也有所区别,本篇介绍的是x64 objc的一般传参方式。
2015-12-27 04:09:30 686
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人