update phase1.md

master
PB18111719 3 years ago
parent 3deb33ed04
commit 2b1ea2edc0

@ -66,9 +66,14 @@ int main(){
2. 在`report.md`内回答[思考题](#思考题) 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 $?`可以将其输出到终端中 - `$?`的内容是上一条命令所返回的结果,而`echo $?`可以将其输出到终端中
- 使用`clang`时,注意扩展名为`sy`的文件是SysYF语言的程序文件`clang`是无法直接识别的 - 使用`clang`时,注意扩展名为`sy`的文件是SysYF语言的程序文件`clang`是无法直接识别的,你可以将`sy`文件复制为`c`文件来用`clang`编译
### 思考题 ### 思考题
请在`report/report.md`中详细回答下述思考题。 请在`report/report.md`中详细回答下述思考题:
1-1 请给出while语句对应的LLVM IR的代码布局特点重点解释其中涉及的几个`br`指令的含义(包含各个参数的含义)
1-2 请简述函数调用语句对应的LLVM IR的代码特点

Loading…
Cancel
Save