|
爾俸爾祿,民膏民脂,下民易虐,上天難欺。 |
因緣際會知道這個東西, 覺得有趣, 嘗試了一下, tcc 可以把 c source code 放在 c source code 中 (有點繞舌), 即時編譯, 然後執行這段 code, 很神奇吧, 不過知道其原理之後就能理解是怎麼做的。
網路上資訊找的跌跌撞撞, 最後成功嘗試出來, 做個整理, 有幾個難關要處理。
TCC Error: tcc: error: file '/usr/lib/x86_64-linux-gnu/tcc/libtcc1.a' not found
如果執行遇到這訊息, 把路徑改好就可以, 我的 path 如 list 1, 加上 symbolic 即可, 注意 libtcc
1.a, libtcc.a 名字差了一點點。
tcc_1.c L23 寫了一個 function abc, 交給 tcc 編譯, 因為有用到 printf, 所以還要 call L21 tcc_add_symbol 加入 printf symbol, 另外 source code 也要加上 printf function prototype, 否則會得到 list 2 的錯誤。
tcc_1.c L47 的轉型一定要寫, 要不然取出來的 pointer 是 NULL, 無法拿來執行編好的 function abc, 我在這邊卡好久才找到這問題。
沒有留言:
張貼留言
使用 google 的 reCAPTCHA 驗證碼, 總算可以輕鬆留言了。
我實在受不了 spam 了, 又不想讓大家的眼睛花掉, 只好放棄匿名留言。這是沒辦法中的辦法了。留言的朋友需要有 google 帳號。