在我的C程序中使用TinyCC让我使用C作为一种脚本语言,即时重新加载C文件,并做了很多相当简洁的事情......但是,有一件事真的困扰我。联。
我使用TCC_OUTPUT_MEMORY执行正常的tcc_new和tcc_set_output_type,但如果我不包含大量这些内容:
tcc_add_symbol(tcc_ctx, "printf", &printf);
tcc_add_symbol(tcc_ctx, "powf", &powf);
tcc_add_symbol(tcc_ctx, "sinf", &sinf);
一切都非常有限。
我想要一种方法来自动引入宿主程序中的所有符号。我不想手动链接libc和libm中的每个函数。有哪些机制可以促进自动链接或添加符号。如何在我的代码中使用libm而无需手动删除每个组件。
我目前正在使用GCC,但在另一个平台上使用Visual Studio来编译我的程序。我可以完全切换到TCC。
答案 0 :(得分:1)
TCC附带了一个基本的运行时库libtcc1。它包括你提到的基本功能。因此,在大多数情况下,您可以使用单个tcc_add_library(tcc_ctx,“libtcc1.a”)替换所有通话。
libtcc1未完成,因此您可能需要手动添加一些功能。