将 tcc 载入工程 编译脚本

这篇博客介绍了如何将Tiny CC (tcc) 编译器整合到工程中,以实现C语言脚本的功能。通过设置编译环境、添加库和头文件路径、设置错误回调、编译源码以及调用脚本中的函数,文章详细阐述了将tcc作为动态链接库(DLL)集成到工程的步骤,以实现主进程与脚本的交互功能。
摘要由CSDN通过智能技术生成

tiny cc 编译器

tcc是一个支持windows和linux环境的C语言编译器。它也可以将代码编译之后直接嵌入到进程中,这就具有脚本的相关特性了,但它却不是解释执行的。

 

tcc将C源码编译称机器码,然后分配一块内存,将机器码写在这块内存中,宿主进程可以调用源码中所定义的函数,源码也可以调用宿主进程提供的函数,交互还是相当灵活的。

 

我们可以将tcc源码编译称DLL(就直接用TCC自己编译自己,网上有具体的方法),这里只简单介绍一下如何将tcc.dll加入到我们的工程中,以此为我们的工程增加脚本功能,步骤如下:

 

包含头文件,导入库文件,这就不多说了

 

1.创建编译环境(包括状态、符号表等等的初始化)
TCCState *s=::tcc_new();
if(s==0)
{
 printf("can not create compile environment\n"); return 0;
}

2.设置错误处理回调函数
::tcc_set_error_func(s,NULL,call_back_func_addr);

3.设置头文件和库文件目录
::tcc_add_sysinclude_path(s,"tcc/include");
::tcc_add_sysinclude_path(s,"tcc/include/winapi");
::tcc_add_sysinclude_path

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值