TinyC(TCC) 获得 LibTcc.dll 的简单方法

长期从 CSDN 里 down 东西,获得支持, 可未曾为其添砖加瓦, 今天获知一个技巧性的东西,和大家共享。 ^_^

最近寻找可放在自己程序里的 C/C++ 脚本(所谓嵌入式脚本),CInt、Tcc 等等都试了个遍,最后看中这个两个。

特希望 Cint可用(虽然是日本人写的,丰田本田松下等等东东也为我们所用嘛,所以就不介意用人家的源代码啦),毕竟这东东是 C++ 的。 可不管怎么编译(MinGW中), 获得的 LibCint.dll 怎么 LoadLibrary 都是失败,官网发布的LibCint.dll也是一样的问题, 让人灰心。

退而求其次, Tcc 这么小,挺可人,说明、例子看起来使用都很简单,可惜只是 C99 的。
可找老半天,就找不到 LibTcc.dll. 只好自己编译啦。

方法一:
根据 《基于Tiny C compiler的c脚本混合编程方法》,在 MinGW 中编译获得:
gcc -O2 -shared -Wall -Wl,--export-all-symbols -mpreferred-stack-boundary=2 -march=i386 -falign-functions=0 -fno-strict-aliasing -DTCC_TARGET_PE -DLIBTCC -o libtcc.dll tcc.c

好,该Dll 用 libtcc_test.c 测试通过。

方法二——本帖要说的简单方法:
灵机一动, TCC 号称最小编译器,但也是编译器嘛,所以直接用 TCC来编译自己获得:
tcc -shared -rdynamic -o libtcc.dll tcc.c

注意参数, 参数的说明,可参见 tcc.c 源程序本身。
哈哈,用 libtcc_test.c 测试,一样OK。

此法真是简单方便呀, 特别是对类似我这种长期在Win下编程的人。。。 说不定还能玩出其他花样。。。


cint性能比php还差很多....
tcc要好很多.但有很多BUG
其实C/C++的设计并不太适合用做脚本.选它们做脚本还不如用专门的脚本语言.像lua/javascript这些..
另外,如果真要用C/C++脚本.建议用ch.这玩意是商业软件.质量比较好.而且有免费版可以用.




TinyCC编译器 <br>发布时间:2007-07-09 12:28 网友评论 0 条 <br>软件大小:419kb<br>软件类别:编译开发<br>点击次数:1<br>软件语言:英文<br>运行环境:Win9X,Me,NT,2000,XP,2003,Unix<br>软件评级:4<br>更新时间:2007年9月7日<br>软件作者:Fabrice Bellard<br>作者网址:Home Page <br>软件授权:免费<br>下载地址:<br><br>软件描述:在下文中,我们说 Tiny C 编译器、Tiny CC、或者 TCC 都是指的这个 Fabrice Bellard 发明的 GNU/Linux 环境下(目前已被移植到Win32环境中)最小的 ANSI C 语言编译器TCC 的主页在文后的参考资料中列出。在 Debian GNU/Linux 系统中,可以方便的用 apt-get install tcc 来从网络上安装 TCC 编译器TCC 的主页上提供有给 Red Hat 系统上使用的 RPM 软件包。在微软 Windows 环境下,可以使用 Cygwin 的模拟 UNIX 的开发环境来编译和使用 Tiny C 编译器TCC 是自由软件,软件许可证是 GNU LGPL,注意不是 GPL。 TCC 最有趣的特性是可以用 UNIX 系统上常见的 #!/usr/bin/tcc 的方式来执行 ANSI C 语言写就的源程序,省略掉了在命令行上进行编译和链接的步 骤,而可以直接运行 C 语言写就的源程序。这样就能做到像任何一种其它的脚本语言比如 Perl 或者是 Python 一样,显著的加快开发步调。可以像 TCC 直接生成经过部分优化的 X86 机器代码。并不需要生成任何虚拟机的二进制代码。据 TCC 作者提供的数据,TCC 的编译速度比 GNU C 编译器在不做任何代码优化工作(gcc -O0)的时候都要快。当然啦,要是让 GCC 做代码优化的话,那么编译速度就更加比不上 TCC 喽。 <br>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值