Compiler construction TCC是否可以修改为使用Emscripten编译?如果没有,我在哪里可以找到生成x86的C编译器?

Compiler construction TCC是否可以修改为使用Emscripten编译?如果没有,我在哪里可以找到生成x86的C编译器?,compiler-construction,posix,ansi,emscripten,tcc,Compiler Construction,Posix,Ansi,Emscripten,Tcc,解压tcc-0.9.26后,我编辑configure以指向emcc而不是gcc,并指向emar而不是ar。接下来,我取消注释tcc.h中的ucontext的include,因为它似乎只在tccrun中才需要。现在我禁用了lib/libtcc1.c中的所有内置项(sub_ddmms等),但我遇到了一个错误,因为Emscripten试图编译一个程序集源文件(alloca的一个实现),我不知道如何解决这个问题。在程序集中实现的函数更基本,并且是tcc所需要的。它们不是可选的,因为您可以通过定义或注释删

解压
tcc-0.9.26
后,我编辑configure以指向
emcc
而不是
gcc
,并指向
emar
而不是
ar
。接下来,我取消注释
tcc.h
中的
ucontext
的include,因为它似乎只在
tccrun
中才需要。现在我禁用了
lib/libtcc1.c
中的所有内置项(sub_ddmms等),但我遇到了一个错误,因为Emscripten试图编译一个程序集源文件(alloca的一个实现),我不知道如何解决这个问题。

在程序集中实现的函数更基本,并且是tcc所需要的。它们不是可选的,因为您可以通过定义或注释删除它们。当然,您可以修改tcc本身以不使用它们,但您必须提供您删除的功能的实现。因此,使用非gcc/clang编译器编译tcc的唯一方法是对其进行重大修改或重新实现汇编函数。

Hmmm。我甚至无法让或Bellard的otcc在Emscripten中工作。我想最好的选择是使用jslinux/jsmodem,在模拟器中运行tcc之后,只需取出二进制文件。