Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c++;php与静态库_Php_C++_Static Libraries - Fatal编程技术网

c++;php与静态库

c++;php与静态库,php,c++,static-libraries,Php,C++,Static Libraries,我创建了一个库.a,其中包含一个.cpp和.h文件,其中包含许多类、嵌套类和方法。我想在php示例中包含这个静态库,并尝试使用它。我想说的是,我是php新手。我已经在test.cpp文件中测试了我的libray.a,它可以正常工作。如何创建test.php并测试我的library.a;It’有可能,请给我举几个例子 我想说的是,我在ubuntu工作。g++是我的编译器 谢谢你的建议!谢谢 编辑: 我想说的是,我不想公开我的.CPP代码。我只想使用我的.H和.A文件。一个文件。文件不是一个自执行库

我创建了一个库.a,其中包含一个.cpp和.h文件,其中包含许多类、嵌套类和方法。我想在php示例中包含这个静态库,并尝试使用它。我想说的是,我是php新手。我已经在test.cpp文件中测试了我的libray.a,它可以正常工作。如何创建test.php并测试我的library.a;It’有可能,请给我举几个例子

我想说的是,我在ubuntu工作。g++是我的编译器

谢谢你的建议!谢谢

编辑:
我想说的是,我不想公开我的.CPP代码。我只想使用我的.H和.A文件。

一个
文件。
文件不是一个自执行库。它是静态目标代码。它不能自己运行

PHP没有加载程序。它不能加载
。一个
文件,你自己的操作系统也不能

.a
文件需要附带适当的标题(
.h
文件)

如果要在PHP中使用本机代码,必须使用PHP的接口。看,就像用C/C++构建的任何东西一样,PHP对字符串(或大多数数据类型)有自己的定义

简而言之,您有两种选择:

  • 使用PHP的头并直接与PHP连接代码
  • 使用库包装器将调用连接到PHP
  • 将您的库设置为可执行文件,并使用PHP调用它*

*PHP有很多IPC方法,所以这实际上是非常可行的。

可能。我不想使用.cpp和.h文件。我想用我的图书馆。我不知道;我想公开我的.CPP代码,你可以复制另一个C++包装器中的库…但是为什么,你没有访问来源的权限?你必须以这样或那样的方式编写一些桥接代码,你不能只是在PHP中添加一个随机库,然后神奇地期望PHP为它提供一个接口。是的,我确实可以访问源文件:.cpp和.h文件。如何创建桥接代码?如果我想使用第一个选项,你能解释一下如何使用php头吗?我可以在.php中包含我的.h和.a吗?很抱歉我的愚蠢问题:)。你能延长你的回答吗?我是php新手。如果我创建了一个动态库,我就赢了;不需要.h文件吗?不需要。PHP被解释。C是土生土长的。如果你想这样做,请参阅@therefromhere的评论。