控制器中的外部命令

时间:2010-07-30 21:13:16

标签: ruby-on-rails

我在服务器上存储了各种扩展名.cpp文件。当用户点击编译按钮时,我应该运行gcc命令将文件的绝对路径传递给gcc编译器,然后向用户显示文件的输出。
我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

Kernel.system可能是您要查找的命令:它调用系统进程。例如:

if (system("gcc ..."))
  @output_to_show = %x['./compiled']
end

假设您的服务器位于Linux / UNIX中,最好将编译和执行过程与网站服务器分开以降低安全风险(通过仅为此目的创建新用户)。或者你能相信cpp-Files的内容吗?