问答题
一个C语言的函数如下: 下面左右两边的汇编代码是两个不同版本GCC编译器为该函数产生的代码。左边的代码在调用func之前将参数压栈,调用结束后将参数退栈。右边代码对参数传递的处理方式没有实质区别。请叙述右边代码对参数传递的处理方式并推测它带来的优点。
左边的编译器版本:一般只为局部变量分配空间。调用函数前,用若干次pushl指令将参数压栈,返回后用addl$n,%esp......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
问答题 给出下面语言的相应文法:L1={anbn|n≥1}L2={anbm+nam|n≥1,m≥0}
问答题 构造下列正规式相应的DFA(用状态转换图表示)(1)1(0|1)*1(2)0*10*10*10*1(3)letter(letter|digit)*
问答题 简述编译程序的工作过程。