php tcc框架_64位Linux环境安装PHP TCC 扩展方法

近日发现了一个很有用的PHP扩展,它可以让PHP直接执行C代码,无需编译。TCC(Tiny C Compiler)是一个C编译器,支持直接执行C源代码。

关于TCC的介绍这里不多说,刚开始在32位Ubuntu下安装,很顺利就装了,不过在64位CentOS上安装时却遇到很多错误,花了差不多半天的时间终于搞定了。

下面详细讲一下我在64们CentOS上安装tcc 的 php扩展中遇到的问题以及解决办法

一、安装TCC编译器

注意不要直接从官网那里下载源码,那里的代码在make编译完,执行make test 时会报错,如下:

------------ test3 ------------

../tcc -B.. -DTCC_TARGET_X86_64 -run ../tcc.c -B.. -DTCC_TARGET_X86_64 -run ../tcc.c -B.. -DTCC_TARGET_X86_64 -run ../tcc.c -B.. -run tcctest.c > test.out3

tcc: undefined symbol 'alloca'

make[1]: *** [test3] Error 255

需要直接从版本库中下载已经修复此错误的版本,可以下载最新的

wget http://repo.or.cz/w/tinycc.git/snapshot/f98c2306a0857ad3f8800f91e0554a27adc7f675.tar.gz

tar -zxvf f98c2306a0857ad3f8800f91e0554a27adc7f675.tar.gz

cd tinycc

./configure --prefix=/usr

我下载的文件是2012-04-18日提交的版本,命令如下:

下面我们要编辑一下Makefile文件,不然后面安装php_tcc模块时编译会无法通过

vim Makefile

找到 ”libtcc.a: $(LIBTCC_OBJ)“ 所在行的上一行

代码应该是

$(CC) -o $@ -c $

将这一行的最后加上 "-fPIC”,即改为

$(CC) -o $@ -c $

保存退出

make

中间可能会报 make: texi2html: Command not found

这个是生成html帮助文档的,可以忽略,需要的话可以先 texi2html 然后重新make

yum install texi2html

没有make错误就继续执行下面命令

make test

make install0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值