PHP扩展封装Protobuf反序列化方法(c++)

据说google的protobuf效率很高,我们决定尝试一下,使用到php项目中,作为反序列化的协议,调用.net的soa接口。 由于protobuf的源码只有java、c++、Python,我选用了c++作为开发语言,进行PHP扩展的开发。 首先,注意到与用c做PHP扩展的几点不同,主要集中在config.m4中:  PHP_ARG_ENABLE(protophp,
摘要由CSDN通过智能技术生成

据说google的protobuf效率很高,我们决定尝试一下,使用到php项目中,作为反序列化的协议,调用.net的soa接口。

 

由于protobuf的源码只有java、c++、Python,我选用了c++作为开发语言,进行PHP扩展的开发。

 

首先,注意到与用c做PHP扩展的几点不同,主要集中在config.m4中:

 

 

PHP_ARG_ENABLE(protophp, whether to enable protophp support,

[  --enable-protophp           Enable protophp support])

 

if test "$PHP_PROTOPHP" != "no"; then

 

 

  PHP_REQUIRE_CXX()

  PHP_ADD_LIBRARY(stdc++, "", EXTRA_LDFLAGS)

  PHP_ADD_LIBRARY(protobuf, "", EXTRA_LDFLAGS)

 

  AC_DEFINE(HAVE_PROTOPHPLIB,1,[ ])

  CPPFILE="protophp.cpp addressbook.pb.cpp"

  PHP_NEW_EXTENSION(protophp, $CPPFILE, $ext_shared)

fi

 

 

其中PHP_REQUIRE_CXX()指明了使用c++作为开发语言,所以也就是用g++作为编译器。

PHP_ADD_LIBRA

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值