如何使用TinyCC自动链接符号



在我的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。

TCC附带了一个基本的运行库libtcc1。它包括你提到的那些基本功能。因此,在大多数情况下,您可以用一个tcc_add_library(tcc_ctx,"libtcc1.a")替换所有调用

libtcc1并不完整,因此您可能需要手动添加一些函数。

最新更新