各位看官们,大家好,上一回中咱们说的是显示变量和函数地址的样例,这一回咱们说的样例是:内置宏。闲话休提,言归正转。让我们一起talk C栗子吧! 看官们,我们在编译程序的时候,假设有语法错误,编译器就会提示,在某个文件的某一行有错误,这是怎么做到的呢?事实上是使用了C语言的内置宏。 说到宏,我想大家 ...
分类:
编程语言 时间:
2017-07-15 22:43:56
阅读次数:
264
课堂笔记 课程回顾 多态 virtual关键字 纯虚函数 virtual func() = 0; 提前布局vptr指针 面向接口编程 延迟绑定 多态的析构函数的虚函数. 多继承的二义性 . 重载 重写 重定义. 实现多态的理论基础:函数指针做函数参数. vptr指针与虚函数表. 构造函数不应为虚..... ...
分类:
其他好文 时间:
2017-07-06 11:20:49
阅读次数:
225
为了分析不同软件或软件的不同版本使用CPU的情况,相关设计人员通常需要进行函数的堆栈性能分析。相比于定期采样获得数据的方式,利用定时中断来收集程序运行时的PC寄存器值、函数地址以及整个堆栈轨迹更加高效。目前,OProfile、gprof和SystemTap等工具都是采用该方法,给出详细的CPU使用情 ...
分类:
编程语言 时间:
2017-07-05 21:57:49
阅读次数:
245
C++ 虚函数表解析 前言 原文地址:http://blog.csdn.net/haoel/article/details/1948051/ C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让 ...
分类:
编程语言 时间:
2017-07-04 15:30:53
阅读次数:
297
1.C++ 虚函数的实现是为class安插一个vptr指向一个数组。数组第一项通常保存type_info。其他项为虚函数地址。或许还存在指向virtual base class的指针。 2.通过变量调用虚函数,不会带来运行期的额外成本。编译期间就确定了函数的地址。 3.在class struct中, ...
分类:
编程语言 时间:
2017-05-19 13:29:24
阅读次数:
159
在《Linux网络编程》这本书中提到htonl()函数的原型。实现代码如下: long htonl(long value) { return ((value <<24 )|((value<<8)&0x00FF0000)|((value>>8)&0x0000FF00)|(value>>24)); } ...
分类:
其他好文 时间:
2017-05-07 16:48:46
阅读次数:
440
C/C++堆栈指引Binhua Liu前言 我们经常会讨论这种问题:什么时候数据存储在飞鸽传书堆栈(Stack)中。什么时候数据存储在堆(Heap)中。我们知道。局部变量是存储在堆栈中的。debug时。查看堆栈能够知道函数的调用顺序。函数调用时传递參数,其实是把參数压入堆栈,听起来。堆栈象一个大杂烩 ...
分类:
编程语言 时间:
2017-04-30 18:32:37
阅读次数:
246
在这个样例的Python源代码里,把从动态连接库获取到的函数地址赋值给变量MessageBox,然后通过MessageBox就能够调用动态连接库里的函数了。windll.user32是实现了载入动态连接库user32.dll,而windll.user32.MessageBoxW是实现了从动态连接库u ...
分类:
其他好文 时间:
2017-04-29 16:19:54
阅读次数:
148
首先在输入某段函数代码前 需要知道函数代码所在的位置;可以通过函数名获取真实函数地址:、 DWORD dwAddr=*(PDWORD)((DWORD)mFunc+1)+(DWORD)mFunc+5; 其中mfunc为我们定义的函数 mfunc函数可以分为有参函数与无参函数: 定义无传参数注入远程ca ...
分类:
其他好文 时间:
2017-04-22 12:53:50
阅读次数:
188
需要用的指针函数。通过用指针函数作为地址接收函数地址,以达到委托其他函数实现某方法的目的。 以下贴代码 ...
分类:
编程语言 时间:
2017-04-13 21:09:24
阅读次数:
277