资源简介
linux下的php-cpp项目,这个项目生成动态链接库,使用这个动态链接库,可以快速地用C++开发php扩展。相比较php官方提供的,用c语言开发php扩展方案。php-cpp使得开发php扩展更加简单快捷。php-cpp官方目前只支持在类unix平台编译安装。还不支持在windows平台上的编译。本项目实现了将php-cpp项目完整地移植到windows平台
代码片段和文件信息
#include “phpcpp.h“
Php::Value my_plus(Php::Parameters ¶ms)
{
return params[0] + params[1] ;
}
void my_example()
{
// the C++ equivalent of the echo() function
Php::out << “example 1“ << std::endl;
// generate output without a newline and ensure that it is flushed
Php::out << “example 2\n“ << std::flush;
// or call the flush() method
Php::out << “example 3\n“;
Php::out.flush();
// just like all PHP functions you can call the echo() function
// from C++ code as well
Php::echo(“Example 4\n“);
Php::out.flush();
}
void my_echo()
{
// the C++ equivalent of the echo() function
Php::out << “my_echo test6“ << std::endl;
Php::out.flush();
}
Php::Value native_bubblesort(Php::Parameters ¶ms)
{
// there is one input array cast the PHP variable to a vector of ints
std::vector input = params[0];
// loop through the array
for (size_t i = 0; i < input.size(); i++)
{
// loop through the elements that were already processed
for (size_t j = 1; j < input.size() - i; j++)
{
// move on if smaller
if (input[j - 1] <= input[j]) continue;
// swap elements
int temp = input[j];
input[j] = input[j - 1];
input[j - 1] = temp;
}
}
// done
return input;
}
/**
* tell the compiler that the get_module is a pure C function
*/
extern “C“ {
/**
* Function that is called by PHP right after the PHP process
* has started and that returns an address of an internal PHP
* strucure with all the details and features of your extension
*
* @return void* a pointer to an address that is understood by PHP
*/
__declspec(dllexport) void *get_module()
{
// static(!) Php::Extension object that should stay in memory
// for the entire duration of the process (that‘s why it‘s static)
static Php::Extension extension(“myPhpcppExt1“ “1.0“);
// @todo add your own functions classes namespaces to the extension
//原项目中的add方法在重载时有点问题,现在将添加函数到扩展的功能重命名为 addFunc
extension.add(“my_plus“ {
Php::ByVal(“a“ Php::Type::Numeric)
Php::ByVal(“b“ Php::Type::Numeric)
});
extension.add(“my_example“);
extension.add(“my_echo“);
extension.add(“native_bubblesort“{ Php::ByVal(“input“ Php::Type::Array) });
// return the extension
return extension;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-08-02 20:00 php-cpp项目移值到windows的vs2017解决方案\
目录 0 2019-08-02 13:36 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\
文件 373 2019-08-02 11:41 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\install_ext.php
文件 2544 2019-08-02 13:34 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\main.cpp
文件 896 2019-07-30 20:45 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\myPhpcppExt.sln
文件 4273 2019-08-02 12:29 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\myPhpcppExt.vcxproj
文件 165 2019-07-30 20:35 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\myPhpcppExt.vcxproj.user
目录 0 2019-08-02 12:07 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\
目录 0 2019-08-02 13:33 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\
文件 4405 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\argument.h
文件 3029 2019-07-29 21:10 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\array.h
文件 1100 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\arrayaccess.h
文件 6746 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\ba
文件 1347 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\byref.h
文件 1345 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\byval.h
文件 7699 2019-07-28 19:29 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\call.h
文件 32464 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\class.h
文件 12114 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\classba
文件 816 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\classtype.h
文件 4029 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\constant.h
文件 682 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\countable.h
文件 566 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\deprecated.h
文件 1370 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\error.h
文件 1239 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\exception.h
文件 6219 2019-08-02 11:35 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\extension.h
文件 2110 2019-07-29 21:06 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\file.h
文件 2011 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\function.h
文件 3851 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\global.h
文件 1354 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\globals.h
文件 21440 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\hashmember.h
文件 2829 2019-04-05 18:43 php-cpp项目移值到windows的vs2017解决方案\myPhpcppExt1\phpcpp-dev\include\hashparent.h
............此处省略585个文件信息
- 上一篇:CA认证系统
- 下一篇:VC读取shapefile文件源码,处理点线面
相关资源
- vc++课程设计——聊天室
- 导入3dmax模型的VC++程序
-
c++读取xm
l配置文件 - vc+SQL实现医院收费管理系统
- 能随鼠标移动的放大镜
- 清大谭浩强教授的C++教程
- VC++6.0 MFC串口编程上位机程序代码.
- Visual C++串口通信及测控应用详解--源
- VC++编写的示波器模拟仿真程序
- C++药品销售管理系统+报告
- 一个简单的医院信息管理系统
- 机器学习-数据挖掘-梯度下降算法C+
- VC++6.0多人网络小游戏-支持多人联机网
- VC++ 游戏编程基础 入门必看
- 基于混沌算法的图像加密系统C++源码
- RakNet 基于UDP网络传输协议的C++网络库
- VC++获取网上股市数据并实时图表显示
- 基于opengl粒子系统实现喷泉的模拟
- VC++记事本完整源程序
- MFC编程技巧与范例详解PDF(无水印 带
- C++语法分析器
- 交通标识牌检测c++代码
- C++编写的数据加密程序源代码6个
- c++课程设计之车票管理系统
- 各种Kalman滤波的比较程序——C++/MFC版
- MFC vc++ 银行业务模拟系统
- 用C++建造专家系统
- QT、C++ 米其林自助点餐系统
- 精美时钟VC++6.0源代码)
- vc++6.0 与access管理系统
评论
共有 条评论