2013-05-31 55 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