Как я могу скомпилировать код C / C ++ в PHP на платформе Windows? - PullRequest
2 голосов
/ 30 мая 2009

Может кто-нибудь помочь мне с компиляцией кода C ++ в PHP на платформе Windows? Я использую Microsoft Visual C ++ 6.0.

Я пробовал следующие варианты, которые я знал, но ни один из них не работал:

system('test.c') 
exec('test.c')

Файл 'test.c' был помещен в мою папку php / www /.

Мне нужно сначала скомпилировать код, который делает test.exe, а затем с помощью exec () мне нужно запустить файл exe.


Edit:

В этом коде «test.c» я читаю из файла «data.txt». Содержимое файла data.txt меняется каждые 5 секунд. Поэтому сначала мне нужно скомпилировать в PHP, а затем запустить новый исполняемый файл.

Ответы [ 4 ]

4 голосов
/ 30 мая 2009

Сделайте .bat файл, который:

  • запускает файл vcvars32.bat, который поставляется с Visual Studio
  • запускает "cl.exe yourprogram.c"

Затем запустите этот файл .bat из PHP. (не знаю, как бы вы это сделали, кстати)

1 голос
/ 30 мая 2009

Вам необходимо явно вызвать компилятор (cl.exe) и компоновщик ( См. Ссылку на компилятор ) или использовать make-файлы ( ссылка ++ g , но показывает точку)

0 голосов
/ 08 сентября 2017

http://4answered.com/questions/view/7e1694/Compile-C-file-Using-PHP Это помогает мне скомпилировать и запустить программу на C (см. Видео по этой ссылке). Используйте это, я написал этот PHP-код, и это wokrs

<?php

putenv("PATH=C:\\MinGW\\bin");
exec("gcc C:\\test\\q.c -o C:\\test\\q1.exe");
system("C:\\test\\q1.exe",$output);
echo $output;

my q.c

#include <stdio.h>

int main(int argc, char* argv[])
{
  printf("Hello world");
  return 0;
}

Таким образом, вы увидите «Hello world0» в $ output

0 голосов
/ 30 мая 2009

Я предполагаю, что вы хотите вызвать свой компилятор из сценария php?

Если это так, вам сначала нужно вызвать сам компилятор, а не просто передать имя файла исходного кода системе. В случае MSVC ++ вам нужно искать «cl.exe».

Кроме того, если в вашей среде не задан соответствующий путь, вам потребуется использовать полный путь.

Обязательно сначала поймите, как вызывать cl.exe вручную из командной строки. Как только вы поймете это, вы можете попытаться вызвать его из php-скрипта.

Однако вы должны понимать, что необходимо учитывать дополнительные факторы, такие как, например, время, необходимое для компиляции файла, и время, отведенное на выполнение сценария php до истечения времени ожидания.

Я думаю, вам может потребоваться предоставить нам дополнительную информацию о том, что именно вы хотите сделать и почему вы хотите это сделать.

...