2009-11-26 5 views
0

Я открыл php_sqlite.dll php_sockets.dll с помощью Depends.exe. Я видел только одну функцию в обоих: get_moduleКак экспортировать все функции внутри расширения PHP?

Как я могу экспортировать все функции в расширение в DLL-файлы при компиляции .dll? AFAIK, ZEND_FUNCTION используется для объявления функций в модулях. Прошу вас посоветуйте. Большое спасибо!

+0

Вы хотите вызвать функции в модуле PHP? –

+0

Да, непосредственно из C/C++, вместо того, чтобы входить в PHP. – Viet

ответ

1

Я бы не просто разоблачил все функции. Если это не ваше расширение, просто сделайте то, что делает zend - вызовите get_module(), получите описание функций & указатели на функции.

Если это ваше расширение, подумайте, ориентируетесь ли вы в основном на PHP, C++ или хотите, чтобы все было на вашем пути.
Если вы в основном нацелены на PHP, а доступ на C++ является исключением, просто делайте то, что делает zend. В обоих случаях ядро ​​C++ с некоторым интерфейсом к PHP - это то, что вам нужно использовать - генераторы интерфейсов, такие как SWIG, могут облегчить вашу работу и создать для вас интерфейс PHP.

+0

привет, спасибо за ваш ответ. Я нацелен на использование расширений php в C++, но не на PHP. Мне нужно использовать некоторые из этих расширений в графическом интерфейсе рабочего стола вместо серверной среды. И я занимаюсь разработкой с помощью Nokia Qt C++. PHP имеет отличные расширения, которые следует использовать вместо перезаписи. – Viet

+2

Тогда, возможно, вам стоит подумать об использовании базовых (C) библиотек этих php-модулей, а не самих модулей. – VolkerK

+0

спасибо за предложение. не могли бы вы подробнее рассказать? – Viet

 Смежные вопросы

  • Нет связанных вопросов^_^