您的位置:首页 > 编程语言 > PHP开发

PHP扩展开发小记

2016-06-14 16:50 471 查看
之前开发的Xukey,在PHP5.6和5.6之前的版本都没有任何问题,在兼容PHP7之后,执行生成随机数会出现“”段错误“”。编译扩展时加入debug,提示php terminated *** stack smashing dete。这样的错误和没有提示直接退出没有什么区别。之后又用gdb调试,这个错误明显一些,提示 /sysdeps/x86_64/rawmemchr.s:37。不过仍然是丈二的和尚摸不着头脑。

于是,在PHP扩展开发群里提问,有个朋友提示说你换CLANG吧,这个提示很明显。于是就换了clang。这次奇迹真的发生了,虽然编译仍然没有问题,但是在内存泄露的时候给出了提示,并且提示是某个文件的第几行。哇。真的这么神奇吗?恩,就是这么神奇,看来真的应该淘汰GCC了。

编译PHP切换为clang需要执行如下命令:alias cc=clang。这样编译的时候就会使用clang来编译了。还有一点clang编译速度比gcc要快很多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: