c++ PHP和静态库

发布于 2024-12-02 06:21:47 字数 294 浏览 0 评论 0原文

我创建了一个library.a,其中包含.cpp 和.h 文件,其中包含很多类、嵌套类和方法。我想将此静态库包含在 php 示例中并尝试使用它。我想提一下,我是 php 新手。我已经在 test.cpp 文件中测试了我的 libray.a 并且它有效。我怎样才能创建一个test.php并测试我的library.a?如果可能的话请给我发送一些例子。

我想提一下,我在 ubuntu 工作。 g++ 是我的编译器。

感谢您的建议!欣赏!

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

I've created a library.a that contains a .cpp and .h files with a lot of classes, nested classes and methods. I would like to include this static library inside a php example and try to work with it. I would like to mention that I am new to php. I've tested my libray.a inside a test.cpp file and it works. How can I create a test.php and test my library.a?If it;s possible please send me some examples.

I would like to mention that i am working in ubuntu. g++ was my compiler.

Thx for advices! Appreciate!

EDIT:
I WOULD LIKE TO MENTION THE FACT THAT I DON'T WANT TO EXPOSE MY .CPP CODE. I JUST WANT TO USE MY .H AND .A FILES.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

放血 2024-12-09 06:21:47

.a 文件不是自可执行库。它是静态目标代码。它无法自行运行。

PHP 没有加载器。它无法加载 .a 文件,您自己的操作系统也无法加载。

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

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

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

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

*PHP 有很多 IPC 方法,所以这是其实还是蛮可行的。

An .a file is not a self-executable library. It is static object code. It cannot run by itself.

PHP doesn't have loaders. It can't load a .a file, neither your very own operating system can.

An .a file needs to be accompanied by the appropriate headers (.h files).

If you want to use native code within PHP, you must use PHP's interfaces. See, just like anything built with C/C++, PHP has it's own definition of what a string (or most data types) look like.

In short, you have two options:

  • use PHP's headers and interface your code directly with PHP
  • use a library wrapper which connects your calls to PHP
  • make your library into an executable and call it with PHP*

*PHP has plenty IPC methods, so this is actually quite feasible.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文