Сделайте скрипт на С ++ для переполнения стека

Я делаю веб-сайт, и PHP недостаточно эффективен для меня, поэтому я решил использовать C ++. Я сделал EXE-файл, который делает то, что должен делать, но я не знаю, как я могу получить вывод в php, я cout выходной и я думал, что это будет работать, так что я делаю неправильно.

PHP:

exec(str_replace('\classes', '', dirname(__FILE__)) . '\data\vedur ', $row);

C ++:

cout << data;

0

Решение

То, что вы сделали, должно работать (пока вы печатаете $ row).
Но это может быть не самым эффективным, так как он выполняет команду и строит массив (поэтому данные недоступны до тех пор, пока исполняемый файл не завершится).

Что было бы лучше, это использовать popen(), Это выполняет команду, но обеспечивает вывод исполняемого файла в виде файлового потока (для остальной части вашего кода это выглядит как открытый файл). Таким образом, вы можете просто читать поток, как если бы вы читали файл.

$handle = popen(str_replace('\classes', '', dirname(__FILE__)) . '\data\vedur ');

if ($handle) {
while (($line = fgets($handle)) !== false) {
// process the line read.
}

pclose($handle);
} else {
// error opening the file.
}

Примечание: мой PHP foo не сильный. Так что сделайте соответствующие проверки.

Еще одно примечание: я предполагаю, что вы вызываете C ++ из PHP, потому что вы используете PHP для генерации всех правильных заголовков и т. Д.

Но если вы можете сделать это из C ++, вы можете вызвать C ++ напрямую со своего веб-сервера без использования уровня PHP.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector