问答题
如果(1)用编译命令cctest.c会报告有未定义的符号;(2)用编译命令cctest.c–lusr.a会得到可执行程序(–lusr.a表示连接库libusr.a)。那么,用编译命令cctest.c–lusr.a–lusr.a是否会报告有多重定义的符号?请说明理由。
不会。连接时,第一次遇到库libusr.a便能解决所有的外部引用。这样在第二次遇到库libusr.a时什么东西也不会加入......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
问答题 考虑下面的三地址语句序列: (1)在该代码中用水平的横线将代码分成基本块,并给每个基本块一个序号。 (2)画出该代码的控制流图,每个基本块就用(1)的序号表示。 (3)若有循环的话,列出构成每个循环的结点。
问答题 为下面的语言写一个无二义的文法:ML语言中用分号分隔语句的语句块,例如:
问答题 说明下面的文法不是SLR(1)文法,并重写一个等价的SLR(1)文法。