使用LAMP在服务器中运行可执行的C程序-对C代码进行哪些修改


Running a C program executable in a server with LAMP - what modifications to the C code?

我计划将C程序的可执行文件放在服务器上,并使用PHP脚本运行它-作为Web API:例如echo exec("myscript.exe")

目前,myscript在命令提示符下运行——它接受两个输入文件,并返回一个整数或浮点数。目前,该代码在命令提示符下获取输入文件。

需要对现有程序进行哪些修改——我听说过HTTP桥和守护进程,但不确定我需要什么(如果有的话)?

更新:目前唯一的其他依赖项是libsndfile,它在Linux上可用。C程序是在Linux上开发的。

答案实际上取决于C应用程序正在使用的API。如果C应用程序只使用标准C库,那么您只需要在目标系统上重新编译应用程序并调用可执行文件的名称。但是,如果您依赖任何基于Windows的API,如COM、WinINET等,则需要在另一个系统上运行可执行文件,并在它们之间建立某种IPC机制。

快速简单(假设您的ouptut是stdout:上的一行文本)

exec("yourprog.exe file1 file2",$res);
echo "result is " . $res[0];