一般而言,php速度已经比较快,但是,对于一些较高级开发者而言,如果想要追求更快的速度,那毫无疑问可以通过自己写c代码,并编译为动态链接库(常为.so文件),然后php通过创建一个新的扩展(extension),并在扩展里调用该.so文件,同时对外暴露出php函数接口。 一、动态链接库(shared) 动态链接库的文件名后缀通常是 ".so"。在Windows系统中,其文件名后缀是".dll"。 程序如果是和动态连接库进行链接(link),程序运行时需要能够找到相应的动态链接库文件。 使用动态链接库存编译的程序在运行时要求用户的机器上必需也安装了相应的动态链接库文件,这些库文件需要放置在特定的目录,以让程序能够加载这些库。 虽然这似乎没有使用静态链接库的程序使用方便,但却减少了程序的大小。对于那些会被很多程序使用到的库,使用动态链接的好处就更加明显了。 动态链接库的制作: 选项-fPIC在AMD64上是必须的,其它平台是则不是必要选项。 包含静态链接库到动态链接库中 编译动态链接库时,如果需要链接静态库,并把链接库的内容包含到要编译的动态库中,可以使用选项-Wl,--whole-archive。 例如: 上面的-Wl表示传递给linker(链接器)。 二、调用动态C/C++链接库 具体步骤如下: 在php/ext目录下创建扩展头文件,取名为myfunctions.def
72小时资讯榜
2
ARTEX搭配DeepSeek等模型击穿韩国三家大银
网安动态
2457人已阅读
3
推荐GitHub开源书籍 —《#高性价比人生指南
生活
1345人已阅读
4
FBI宣布逮捕了黑掉他们系统的黑客组织Shiny
网安动态
5893人已阅读
5
从代码分析到授权争议:一用户用AI破解IDM
业界
1348人已阅读
6
黑客团伙 ShinyHunters 声称攻破 FBI 系统
网安动态
1610人已阅读
社区热门
1
━※☆※━★===二〇二六年论坛每日签到帖=
2026-03-13
2
2006年注册的老人泪流满面
2026-10-12
3
十几年没回来了,回来看看。顺便做个记号
2026-08-15
4
多年以后我又回来了,报道贴
2026-08-11
5
人工智能最终是否替代人类??人类该何去何
2026-07-22
|