Linux内核中设置了一组用于实现各种系统功能的子程序,称为系统调用。系统调用实际上是内核中的一些C函数,它们都以sys开头的,如sys_mkdir()。它们通过一个指令int 0x80(软中断)把控制权交给内核,即进入特权级执行。int 0x80指令会使“执行”跳转到系统调用在内核中定义的入口地址 ...
分类:
其他好文 时间:
2018-02-22 21:42:59
阅读次数:
142
1.用类定义对象的时候,C++编译器为每个对象编了一个一维的虚函数表(简称虚表)。这个虚函数表存储了类中虚函数的函数入口地址; 2.用类定义对象的时候,C++编译器还为每个对象分配了一个指向虚表开始地址的指针vptr; 3.当代码运行时,C++编译器首先判断父类指针调用的函数是不是虚函数。 如果不是 ...
分类:
编程语言 时间:
2018-01-31 20:15:57
阅读次数:
228
函数指针是指向函数的指针变量。 因此“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。如前所述,C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数,就 ...
分类:
其他好文 时间:
2017-12-20 03:47:41
阅读次数:
192
这是java程序的入口地址,java虚拟机运行程序的时候首先找的就是main方法.跟C语言里面的main()函数的作用是一样的.只有有main()方法的java程序才能够被java虚拟机欲行,可理解为规定的格式对于里面的参数及修饰符public:表示的这个程序的访问权限,表示的是任何的场合可以被引用 ...
分类:
其他好文 时间:
2017-12-08 21:09:41
阅读次数:
203
类体中的方法分为实例方法和类方法两种,用static修饰的是类方法 类方法: 对于类中的类方法,在该类被加载到内存时,就分配了相应的入口地址。从而类方法不仅可以被类创建的任何对象调用执行,也可以直接通过类名调用。类方法的入口地址直到程序退出才被取消。 实例方法: 当类的字节码文件被加载到内存时,类的 ...
分类:
编程语言 时间:
2017-11-27 23:43:27
阅读次数:
187
引言 方法调用不是方法执行而是确定执行哪个方法。 解析 所有方法调用中的目标方法都是常量池中的一个符号引用,在类加载的解析阶段会将一部分符号引用转化为直接引用(方法入口地址),前提是方法在程序运行之前有明确的调用版本且运行期不可改变。这类方法的调用称为解析。 被invokestatic、invoke ...
分类:
其他好文 时间:
2017-10-18 18:25:42
阅读次数:
89
一、课程笔记 call:将当前cs:eip的值压入栈顶,cs:eip指向被调用函数的入口地址 {程序调用过程: step1.执行call时,cs:eip原来的值指向call的下一条指令,该值被保存到栈顶,然后cs:eip的值指向xxx的入口地址 step2.进入xxx后,第一条指令pushl %eb ...
分类:
系统相关 时间:
2017-10-15 17:24:50
阅读次数:
223
参考:http://www.weixueyuan.net/view/6372.html 总结: 在C++中通过虚成员函数表vtable实现多态,虚函数表中存储的是类中虚函数的入口地址。 使用多态会降低程序运行效率,使用多态的程序会使用更多的存储空间,存储虚函数表等内容,而且在调用函数时需要去虚函数表 ...
分类:
编程语言 时间:
2017-10-15 11:30:28
阅读次数:
216
参考:http://www.weixueyuan.net/view/6370.html 总结: 而多态的功能则是将函数名动态绑定到函数入口地址,这样的动态绑定过程称为运行期绑定。 而在运行期绑定的函数我们称其是多态的。 通过基类类型的指针根据所指向对象的类型来自动决定调用基类还是派生类的displa ...
分类:
编程语言 时间:
2017-10-13 10:09:04
阅读次数:
151
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"wmainCRTStartup\"" ) // 设置入口地址 在默认情况下链接器看到/subsystem下是windows选项的时候,它会自动寻找WinMain或者wWinMain 但 ...
分类:
其他好文 时间:
2017-09-16 13:41:48
阅读次数:
178