摘要:
#define MAX 10char* ch1[MAX];// max个字符串 (指针数组)(char*) ch2[MAX];//错误 在vc6上编译不过char (* ch3)[MAX];//含有MAX个字符的指针;即数组指针ch3=(char(*)[12])malloc(12);orch3 = &ch1;ch1={"hello","world",};ch3 ={"nihaoa"}; /... 阅读全文
摘要:
i386 cpu:1234h: 实际存放:34 12 按内存增大的方向arm:大端:1234h: 12 34 阅读全文
摘要:
int a[2][2] = {1,2,3,4};int a[2][2] ={(1,2),(3,4),(5,6),(7,8)};分析:int a ={1,2,3,4,5};与 int a = 5; 同//附源代码typedef int inta2[2][2];typedef int inta1[2];int main(){ int a[2][2][2] ={{{1,2},{3,4}},{{5,... 阅读全文
摘要:
GDT是全局描述附表,主要存放操作系统和各任务公用的描述符,如公用的数据和代码段描述符、各任务的TSS描述符和LDT描述符。(TSS是任务状态段,存放各个任务私有运行状态信息描述符)LDT是局部描述符表,主要存放各个任务的私有描述符,如本任务的代码段描述符和数据段描述符等。GDTR是一个长度为48bit的寄存器,内容为一个32位的基地址和一个16位的段限。其中32位的基址是指GDT在内存中的地址。... 阅读全文
摘要:
1.setjmp(j)设置“jump”点,用正确的程序上下文填充jmp_buf对象j。这个上下文包括程序存放位置、栈和框架指针,其它重要的寄存器和内存数据。当初始化完jump的上下文,setjmp()返回0值。 2. 以后调用longjmp(j,r)的效果就是一个非局部的goto或“长跳转”到由j描述的上下文处(也就是到那原来设置j的setjmp(... 阅读全文
摘要:
常量指针与指针常量:常量指针:指向常量的指针:例如:const int* pt, int const* pt(const在*号的左边)指针常量:指针本身是个常量,例如:int* const pt;即指针本身的内容不可以更改int intarray[10]赋值:pt =intarray;intarray =pt;是错的不过还是有几点疑问#include "iostream"using namespa... 阅读全文
摘要:
段描述符转换: 阅读全文
摘要:
逻辑地址到物理地址的映射过程: 阅读全文
摘要:
程序分:代码段、数据段、以及堆栈区(running statck);对变量的操作需要借助寄存器做中介;EAX:存取变量,累加寄存器EBX:ECX:计数器EDx:ESI:源地址EDI:目的地址EBP:堆栈基址ESP:堆栈操作指针局部变量:栈存储并释放全局变量:数据区用户分配的变量都是在堆里面申请并释放子函数调用过程:push ebp;将ebp保存到堆栈move ebp esp;使用ebp寄存器,将e... 阅读全文
摘要:
抽象类、接口、虚基类抽象类关键字:abstratc、接口关键字:interface有些也叫纯虚函数~,抽象类:至少有一个抽象函数的类,抽象函数:必须要子类继承~,借助子类实例化接口:全是函数定义不要求实现,借助子类实例化虚基类:针对子类说的,函数关键字是virtual,尽管是虚的 也是要求函数实现的。~可实例化 欢迎指正~ 阅读全文