,回答:1)在一台64位的机器上,使用32位编译,Garfield变量占用多少内存空间?64位编译又是如何?(总分5分)2)使用32位编译情况下,给出一种判断所使用机器大小端的方法。(总分5分)structCAT_s{intld;charColor;unsignedshortAge;char*Name;void(*Jump)(void);}Garfield;。(总分10分)#defineoffsetof(TYPE,MEMBER)((size_t)&((TYPE*)0)->MEMBER)#defineXXX(ptr,type,member({\consttypeof(((type*)0)->member)*__mptr=(ptr);\(type*)(char*)__mptr–offsetof(type,member));}):1)参数如何传递(__cdecl调用方式);2)返回值如何传递;3)调用后如何返回到调用前的下一条指令执行。(总分10分),有一个CPU可直接寻址的32位寄存器REGn,地址为0x1F000010,编写一个安全的函数,将寄存器REGn的指定位反转(要求保持其他bit的值不变)。(总分10分),每个数的取值范围均在1到1000之间,变成找出从小到大排在第3400(从0开始算起)的那个数,将此数的值返回,要求不使用排序实现。(总分10分)(中断向量、中断保护现场、中断嵌套、中断返回等)。(总分10分),CPU核、cache、MMU如何协同工作?画出CPU核、cache、MMU、内存之间的关系示意图加以说明(可以以你熟悉的处理器为例)。(总分10分)、I2C、USB的异同点(串/并、速度、全/半双工、总线拓扑等)。(总分5分)
大疆笔试题(嵌入式) 来自淘豆网m.daumloan.com转载请标明出处.