摘要: 昨天室友拿一个面试题为难我,问我C/C++函数调用是怎么一个流程。这问题实在简单,然而有一本什么面试宝典却说的前后不一,漏洞重重。室友尽信于书,非与我分个高低。单从机制本身来说,公说公有理,婆说婆有理,于是我就用了一个简单的实验才勉强说清楚。在此也顺便总结一下,从汇编的角度介绍一下函数调用过程。 当调用者比如h调用某个函数f时,从编译器或者汇编语言角度来看,主要分以下几个步骤进行: h将实参按照从右向左的顺序一个个压入stack中。 执行一个转移指令call f f执行完函数体后,将返回值传入寄存器AX/EAX/RAX中。 f执行转移指令ret h将实参从stack中一个一个弹出。 由此可见. 阅读全文
posted @ 2009-09-05 15:50 黄鹏 阅读(4537) 评论(3) 推荐(5) 编辑
摘要: 新学期刚开始,就业已经拉开了序幕。 今年遇到的第一个招聘公司是迅雷。当时由于时间紧张,手头事情比较多,简历还没有做完。后来参加了霸王一笔,全是基本语言语法,答的很惨。心想一定被拒了,然而考完几个小时,也就是凌晨不到一点的时候,收到了迅雷的二笔通知,心中狂欢。 二笔安排在第二天晚上7点到9点,三个程序题(30分+30分+40分),2个小时,答的够累的。两张答题纸用完我又要了三张,最后还是没写完,也只... 阅读全文
posted @ 2009-09-05 13:45 黄鹏 阅读(1040) 评论(0) 推荐(0) 编辑