作者Neisseria (Neisseria)
看板C_and_CPP
標題Re: [問題] 實作編譯器
時間Sat Nov 14 14:03:12 2015
※ 引述《mikukonn (mikukon)》之銘言:
: https://github.com/Wilfred/babyc
我的系統是 64 bit GNU/Linux
剛玩了一下 babyc,發現它出來的 assembly code 是給 32 bit 用的
在 64 bit 環境下要略為修改指令
$ cat if_false__return_2.c
int main() {
if (0) {
return 1;
}
return 2;
}
$ babyc if_false__return_2.c
$ as --32 out.s -o out.o
$ ld -m elf_i386 -s -o out out.o
$ ./out
$ echo $?
2
參考看看
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.71.94.1
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1447480995.A.6AF.html
※ 編輯: Neisseria (203.71.94.1), 11/14/2015 14:03:51
推 mikukonn: 謝謝!! 11/14 14:36
推 suhorng: 其實原 PO 貼的文章裡面就有寫出給 32-bit 的指令的 囧 11/14 15:25
→ suhorng: 不知道是不是沒看文章..... 11/14 15:25
→ Neisseria: 我也沒看,自己試的 冏 11/14 17:42