diff --git a/doc/phase1.md b/doc/phase1.md index eed09f1..1a66121 100644 --- a/doc/phase1.md +++ b/doc/phase1.md @@ -66,9 +66,14 @@ int main(){ 2. 在`report.md`内回答[思考题](#思考题) ### 运行说明 -- 利用LLVM的命令`lli`,可以执行`*.ll`文件 +- 你需要使用 `clang --version` 和 `lli --version` 检查本机的Clang和LLVM版本 +- 你可以使用 `which lli` 来查找 `lli` 命令的位置 +- 利用LLVM的命令 `lli`,可以执行`*.ll`文件;如果版本过低,可能会遇到`error: expected top-level entity`等问题 +- 你也可以使用 `clang go_upstairs.ll -o go_upstairs` 来生成可执行文件 - `$?`的内容是上一条命令所返回的结果,而`echo $?`可以将其输出到终端中 -- 使用`clang`时,注意扩展名为`sy`的文件是SysYF语言的程序文件,`clang`是无法直接识别的 +- 使用`clang`时,注意扩展名为`sy`的文件是SysYF语言的程序文件,`clang`是无法直接识别的,你可以将`sy`文件复制为`c`文件来用`clang`编译 ### 思考题 -请在`report/report.md`中详细回答下述思考题。 \ No newline at end of file +请在`report/report.md`中详细回答下述思考题: +1-1 请给出while语句对应的LLVM IR的代码布局特点,重点解释其中涉及的几个`br`指令的含义(包含各个参数的含义) +1-2 请简述函数调用语句对应的LLVM IR的代码特点