2

我拿起了一份微型 c 编译器 (TCC) 的副本,这样我就可以在工作中进行一些 c 编程。不幸的是,一项新的网络安全政策禁止非 IT 人员下载/保存 exe 文件。当然,每次我尝试编译 helloworld.c 时,老板都会收到通知说我是恶意黑客......

我的问题——是某种我可以练习 c 编程的 c 解释器或环境吗?或者某种方法以不同的方式编译我的程序以测试它们而不会无意中规避安全措施?

4

3 回答 3

4

试试ideone,它为您提供了一个基于 Web 的前端,可以编译和运行代码。然后将程序的输出打印在页面上。

于 2013-05-31T16:37:42.080 回答
1

您可以直接从 tcc 运行代码(如果它是单个文件),而无需创建可执行文件。使用命令行参数-run

在我的系统上,tcc 安装在 \Utils\tcc 中。文件 hello.c 是一个基本的“Hello World”源文件。

首先我做了一个“dir”,然后在没有创建可执行文件的情况下“执行”了源代码,最后创建了另一个不显示任何内容的“dir”。

C:\杂项>目录
 驱动器 C 中的卷没有标签。
 卷序列号为 BC80-0D15

 C:\misc 目录

2013-06-03 13:12。
2013-06-03 13:12..
2013-06-03 13:11 86 你好.c
               1 个文件 86 字节
               2 Dir(s) 14,364,372,992 字节空闲

C:\misc>\utils\tcc\tcc -运行你好.c
你好世界!

C:\杂项>目录
 驱动器 C 中的卷没有标签。
 卷序列号为 BC80-0D15

 C:\misc 目录

2013-06-03 13:12。
2013-06-03 13:12..
2013-06-03 13:11 86 你好.c
               1 个文件 86 字节
               2 Dir(s) 14,364,372,992 字节空闲

C:\杂项>
于 2013-06-03T12:16:45.733 回答
1

现在有很多在线 C++ 编译器可用,我见过的最完整的列表是isocpp.org的Get Started页面上的那个。

不幸的是Cameau's,似乎一去不复返了。LiveWorkspace已经处于维护模式有一段时间了,不清楚什么时候回来,这很不幸,因为它有一个简单的界面,而且它工作时允许你在 之间切换gccclang而且intel非常容易。

剩下的那些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它最初是作为regex测试人员开始的,.net但现在支持C++和许多其他语言。它非常有用,并且允许实时合作,这是一个突出的功能。

于 2013-06-03T11:54:30.623 回答