2013-05-07 82 views
3

解壓tcc-0.9.26後,I編輯配置在emcc而不是gccemar,而不是ar點。接下來,我取消了ucontexttcc.h中的註釋,因爲它似乎只用於tccrun。現在我禁用了lib/libtcc1.c中的所有內建函數(sub_ddmmss等),但是由於Emscripten嘗試編譯彙編源文件(alloca的實現),我得到一個錯誤,我不知道如何解決這個問題。可以修改TCC以使用Emscripten進行編譯嗎?如果沒有,我在哪裏可以找到一個x86生成的C編譯器呢?

回答

2

彙編中實現的函數更爲基礎,並且是tcc所要求的。從某種意義上說,它們不是可選的,您可以通過定義或評論來刪除它們。你當然可以修改tcc本身不使用它們,但是你必須提供你去掉的函數的實現。所以用非gcc/clang編譯器編譯tcc的唯一方法是對其進行重大修改或重新實現彙編函數。

+0

嗯。我甚至不能[CC500](http://homepage.ntlworld.com/edmund.grimley-evans/cc500/)或Bellard的otcc在Emscripten中工作。我想最好的選擇是使用jslinux/jsmodem,然後在仿真器中運行tcc之後拔出二進制文件。 – 2013-05-07 13:05:36

相關問題