typedefunsigned intu32;
typedefunsigned shortu16;
typedefunsigned charu8;
在start.c 里面 定义
u8 gdt_ptr[6];
1. u32*(&gdt_ptr[2]) // 取得数组第2元素的地址,并转化为 四字节地址!
在kernel.asm
extern gdt_ptr ;导入全局变量
sgdt [gdt_ptr];
------------------------------------------------------
functionA() { struct TT A; //此时A已经取得栈空间 int addr =1000; Function(addr, &A) } Function(int addr, struct TT *Ptr) { struct TT *Tmp; for(int i= 0 ; i < Vector.size() ; i++) { Tmp = & Vector[i] ; 左右边都是地址 if( add == Tmp->addr) 1.Ptr->x = Tmp->x; //复制操作 2.memrcy(Ptr,Tmp ,sizeof(Tmp )); 首先明白什么地址 和 地址里面的内容 } }