2014-03-02 61 views
0

我有一個文本區域,用戶輸入一個基本的C程序,例如打印Hello World或添加兩個數字。 現在,我希望用戶能夠點擊一個按鈕,以便他編碼的任何代碼被編譯,並且其輸出顯示在另一個文本區域中。如何從Ruby on Rails Web應用程序調用GCC編譯器?

我是一個初學者,不知道如何實現這一點。任何教程鏈接相同將不勝感激。我試圖搜索谷歌,但無法找到合適的解決方案。

我正在尋找類似於shell_exec for PHP的東西。 例如,在PHP

<?php 
shell_exec('gcc myfile.c -o a'); 
shell_exec('./a'); 
?> 
+2

這是一個嚴重的安全風險。 – Blender

+0

我明白,但我試圖一次走一步。我打算在稍後階段在安全方面開展工作。我正在學習rails,並決定將其作爲一個個人項目來使用,所以無論如何,除了我自己的個人電腦以外,其他任何地方都不會部署。 –

回答

0

有幾個方法可以做到這一點的紅寶石:

1,反引號

`gcc myfile.c -o a` 
`./a` 

2,system

system("gcc myfile.c -o a") 
system("./a") 

3 ,[IO#popen](見http://www.ruby-doc.org/core-2.1.0/IO.html#method-c-popen

IO.popen("gcc myfile.c -o a") 
IO.popen("("gcc myfile.c -o a") 

N.B:有更多的方式來做到這一點(IO:popen3,EXEC ...)

相關問題