Как я могу использовать код C++ для взаимодействия с PHP?

Возможно. Зависит от того, под чем Вы подразумеваете "лучше".

, Если Вы просите "лучшее" решение с точки зрения функциональности , тогда это - в значительной степени она.

, Если Вы просите "лучшее" в смысле "менее неловкой" нотации , затем знайте, что, в скалярном контексте, Time::HiRes::gettimeofday() возвратит плавающие секунды с эпохи (с микросекундами представления дробной части), точно так же, как Time::HiRes::time() (который является хорошей общедоступной заменой для стандарта time() функция.)

my $start = Time::HiRes::gettimeofday();
...
my $end = Time::HiRes::gettimeofday();
printf("%.2f\n", $end - $start);

или:

use Time::HiRes qw( time );

my $start = time();
...
my $end = time();
printf("%.2f\n", $end - $start);

19
задан Subhanshuja 23 November 2019 в 13:10
поделиться

4 ответа

Вы можете добавлять функции / классы в PHP, запрограммированные на C (и вы можете обернуть класс C ++ из C, если я правильно помню из статьи, которую я прочитал некоторое время назад) , что может позволить вам делать некоторые вещи быстрее - если хорошо запрограммировано: нет необходимости в интерпретации кода PHP; только выполнение машинного кода, который, как правило, намного быстрее.

Для этого вам необходимо разработать расширение PHP .

В Интернете не так много ресурсов, посвященных этому , но это может помочь вам начать:

И, в частности, о части C ++, это тоже может помочь:

Если вас действительно интересует эта тема, и вы готовы потратить на нее немного денег , вы также можете купить книгу Расширение и встраивание PHP ( некоторые страницы также доступны для предварительного просмотра в Google Книгах ) ; Я пару раз видел, что это была книга , которую стоит прочитать, если заинтересовался этой темой (Фактически, я купил ее некоторое время назад, и это интересное чтение)

Кстати,

39
ответ дан 30 November 2019 в 02:18
поделиться

На самом деле вы можете выполнять скомпилированные приложения без какого-либо API:

$output = exec('/path/to/yourapp');

Кроме того, вы всегда можете написать расширение PHP. Здесь есть хорошее руководство по этой теме: http://devzone.zend.com/article/1021

11
ответ дан 30 November 2019 в 02:18
поделиться

swig, упрощенная оболочка и генератор интерфейсов могут помочь вам обернуть (существующий) c ++ в модуль php.

SWIG - это инструмент разработки программного обеспечения, который соединяет программы, написанные на C и C ++ с множеством языков программирования высокого уровня. SWIG используется с разными типами языков, включая распространенные языки сценариев, такие как Perl, PHP, Python, Tcl и Ruby.
7
ответ дан 30 November 2019 в 02:18
поделиться

Ну, вы не определили, что вы пытаетесь это сделать, но если вам нужен интерфейс C ++, затем просмотрите каталог ext в исходном коде, чтобы понять, как написать расширение PHP, которое затем можно загрузить и использовать из своих сценариев PHP.

Пара ссылок, которые могут помочь:

http: // www. devarticles.com/c/a/Cplusplus/Developing-Custom-PHP-Extensions-Part-1/ http://devzone.zend.com/article/1021

1
ответ дан 30 November 2019 в 02:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: