Я хочу использовать функцию PHP exec()
для запуска исполняемого файла на сервере Windows.Командная строка будет использовать управляющие символы ASCII в качестве разделителей для данных, передаваемых в исполняемый файл.Код, который у меня сейчас есть:
for( $i = 0; $i < $size; $i++ ){
$input .= $arg[$i];
$input .= "\037"; /* Unit Separator */
}
Это создает вход для программы на C из элементов массива, заданных в качестве параметра для функции инкапсуляции.Я пишу слой абстракции, который позволит PHP-сценарию разгрузить часть своей более тяжелой обработки в C-программу для повышения эффективности и сделать это прозрачно с помощью простого вызова функции.Для этого я передам любые структуры данных, используемые в качестве входных данных для алгоритма в сериализованной форме, в стандартный поток ввода программы C, возможно, с использованием простой программы эха.Параметром этой эхо-программы будет весь сериализованный вывод.Чтобы сделать это, мне нужно быть уверенным, что оболочка не будет обрезать какие-либо управляющие символы (я уже пробовал разделять входные элементы символами новой строки, и это приводило к преждевременному завершению командной строки).Я не очень хорошо знаком с тем, как работает Windows, так как я больше привык к тому, чтобы что-то делать на платформе Unix.