我使用 Depends.exe 打开了 php_sqlite.dll 和 php_sockets.dll。我在两者中都只看到了一个函数:get_module
编译.dll时如何将扩展名中的所有函数导出到dll文件?AFAIK,ZEND_FUNCTION 用于在模块中声明函数。请多多指教。非常感谢!
我使用 Depends.exe 打开了 php_sqlite.dll 和 php_sockets.dll。我在两者中都只看到了一个函数:get_module
编译.dll时如何将扩展名中的所有函数导出到dll文件?AFAIK,ZEND_FUNCTION 用于在模块中声明函数。请多多指教。非常感谢!
我不会简单地公开所有功能。如果它不是您的扩展,只需执行 zend 所做的 - call get_module()
,获取函数描述和函数指针。
但是,如果它是您的扩展,请考虑您是否主要针对 PHP、C++ 或想要支持任何您想要的方式。
如果您主要针对 PHP 并且 C++ 访问是一个例外,那么只需执行 zend 的操作即可。在其他两种情况下,您应该选择仅与 PHP 进行一些接口的 C++ 内核 - 像SWIG这样的接口生成器可以简化您的工作并为您生成 PHP 接口。