1,x86的时模式和保护模式是什么,有什么区别?2,c语言中函数调用时,编译器会将哪一些内容压栈?3,写一个O(1)的算法求出一个整数的二进制表示的第一个1位在第几位,如:14 = 10100,答案是2,从零开始。4,windows操作系统中用户态和内核态如何交换信息5,如何在一个只有500k大小的内存的机器上对5M大小的数据进行排序6,详细解释一下,c语言链接时,链接器做了哪些工作。7,UML中活动图和时序图有什么关系,或者他们分别用于描述什么?
阅读全文(107) | 回复
楼上的啥意思……
int fun(int x) { int coutx=1; if(x==0)return 0; while((x&1)!=1) { x>>=1; coutx++; } return coutx; }
这不是O(1)的算法,谁能想出O(1)的算法,冒个泡,谢了!
c语言中函数调用时,编译器会将返回地址,函数参数,局部变量,返回值压栈!
编译原理没学过,不知道全不!
自己的问题自己来答:实模式:寻址采用和8086相同的16位段地址和偏移量,最大寻址空间1MB,最大分段64KB,不支持分页!保护模式:寻址采用32位段和偏移量,最大寻址空间4GB,最大分段4GB (Pentium Pre及以后为64GB)。在保护模式下CPU可以进入虚拟8086方式,这是在保护模式下的实模式程序运行环境。