2013-05-31 54 views
2

我拿起了一個微型C編譯器(TCC)的副本,所以我可以在工作中做一些C編程。不幸的是,新的網絡安全策略禁止非IT人員下載/保存exe文件。當然,每次我嘗試complile helloworld.c老闆得到通知,我是一個惡意haxor ...學習c而不編譯爲* .exe?

我的問題 - 是某種c解釋器或環境,我可以練習c編程?或者有些方法以不同的方式編譯我的程序來測試它們,而不會無意中繞過安全措施?

+1

使用一個在線的C解釋器,像這樣:http://codepad.org/ –

+0

你不能保存文件*任何地方*?共享網絡驅動器,個人用戶文件夾,臨時目錄等?似乎不太可能。 –

+0

http://www.compileonline.com/compile_c_online.php – ChrisCM

回答

4

嘗試ideone它爲您提供了一個基於Web的前端,可以編譯代碼並運行它。程序的輸出將被打印在頁面上。

+1

這是一個很好的修復方法,compileonline.com和其他一些建議也是如此。我假設沒有辦法使用TCC測試代碼而無需將其編譯爲exe。沒關係,因爲我已經看到了一個金礦。 – ridthyself

+1

我最近了解到,CodePad和Stacked-Crooked具有的一個優點是您可以在那裏使用'boost'。 –

1

現在有很多在線的C++編譯器,我看到的最完整的列表是Get Started頁面isocpp.org

不幸的是Cameau's好像沒了。 LiveWorkspace一直處於維護模式一段時間,並且不清楚它何時回來,這是不幸的,因爲它具有簡單的界面,並且在工作時允許您非常容易地在gcc,clangintel之間切換。

剩下的Stacked-Crooked是最強大的,你有一個完整的命令行可用,你可以保存文件,因此在你的項目中使用多個文件。

isocpp列表莫名其妙丟失codepad雖然相當原始,但隨着Stacked-Crooked允許您使用boost

godbolt是一種奇怪的人在這裏,你不能真正運行你的程序,但它顯示你生成的程序集。雖然你可以使用這樣的事情在命令行上實現對Stacked-Crooked同樣的效果:

g++-4.8 -std=c++11 -S main.cpp && cat main.s 

,你可以使用其他有用的命令行選項,如-fdump-tree-original等...

更新

我最近發現Rextester這顯然是作爲.netregex測試儀開始的,但現在支持C++和許多其他語言。這是非常有用的,並允許實時合作,這是一個突出的功能。

1

您可以在不創建可執行文件的情況下直接從tcc運行代碼(如果它是單個文件)。使用commad參數-run

在我的系統上,tcc安裝在\ Utils \ tcc中。 文件hello.c是一個基本的「Hello World」源文件。

首先我做了一個「dir」,然後'執行'源而不創建可執行文件,最後是另一個「dir」,以顯示沒有創建任何東西。

 
C:\misc>dir 
Volume in drive C has no label. 
Volume Serial Number is BC80-0D15 

Directory of C:\misc 

2013-06-03 13:12    . 
2013-06-03 13:12    .. 
2013-06-03 13:11    86 hello.c 
       1 File(s)    86 bytes 
       2 Dir(s) 14,364,372,992 bytes free 

C:\misc>\utils\tcc\tcc -run hello.c 
Hello, World! 

C:\misc>dir 
Volume in drive C has no label. 
Volume Serial Number is BC80-0D15 

Directory of C:\misc 

2013-06-03 13:12    . 
2013-06-03 13:12    .. 
2013-06-03 13:11    86 hello.c 
       1 File(s)    86 bytes 
       2 Dir(s) 14,364,372,992 bytes free 

C:\misc> 
+0

非常感謝你!這是一個非常簡單的解決方案,它可以像廣告一樣工作。我衷心感謝。 – ridthyself