如何创建Web应用程序在线编译和运行Java/C/PHP代码?

如何创建Web应用程序在线编译和运行Java/C/PHP代码?,java,php,c,online-compilation,Java,Php,C,Online Compilation,虽然这是一个范围更广的问题,但我想为我的公司编写一个在线测试代码,在这里,人们可以被问到用java/php/c等编写代码的问题,代码可以在线运行和编译。我在codeacademy、Udacity等网站上看到过这种情况。我只是想了解它背后的架构。我在谷歌上搜索了很多类似的东西,但没有找到具体的答案。虽然在这里和那里阅读了一些片段之后,我了解到代码被发送到服务器上的编译器,然后结果被发送回来。不知道到底是怎么发生的。有人能给我指出它的起点吗。我曾为我的公司使用过,并根据我的需要定制了它 PHP代码编

虽然这是一个范围更广的问题,但我想为我的公司编写一个在线测试代码,在这里,人们可以被问到用java/php/c等编写代码的问题,代码可以在线运行和编译。我在codeacademy、Udacity等网站上看到过这种情况。我只是想了解它背后的架构。我在谷歌上搜索了很多类似的东西,但没有找到具体的答案。虽然在这里和那里阅读了一些片段之后,我了解到代码被发送到服务器上的编译器,然后结果被发送回来。不知道到底是怎么发生的。有人能给我指出它的起点吗。

我曾为我的公司使用过,并根据我的需要定制了它


PHP代码编写得非常好。它是非常模块化的,可以简单地适应您的需求。

根据应用于web体系结构的MVC模式,您基本上可以拥有如下内容:

  • web应用程序客户端,允许用户插入一些代码, 可能利用Javascript进行早期语法检查
  • 服务器端点, 从客户端接收插入的代码作为输入
操作顺序可以是:

  • 在服务器端,输入被转换为目标编程语言的适当结构,例如Java类或C模块
  • 可能会定义更多的上下文(例如类路径)
  • 然后,如果语言被编译,编译器被调用(例如javac或gcc)。这可以通过几种方式实现,例如C中的exec或Java中的Runtime.getRuntime().exec。否则,代码可以部署在服务器上,或者可以运行一些模拟器并传递代码
  • 随后,执行代码并截取输出(例如,通过将控制台输出定向到文件或仅利用目标语言基础结构,如中)。执行可以通过命令行(如java)或其他工具(如运行部署的php代码的curl,因为它是访问它的客户端浏览器)进行
  • 服务器的最后一步是以可读格式(例如HTML)将截获的输出发送回客户端。另一种选择是,如果您使用Java,您可以使用Java,这不会改变基本的体系结构

  • 然而,更一般地说,问题是编译器和解释器是基础软件。它们不适用于普通用户,因为普通用户只能轻松地使用操作系统。因此,就我所知,“在线编译”与“发布代码,让它在服务器上执行,并将答案可视化”有所不同。在线编译意味着在网络上分配编译的责任,这是有道理的,但在我看来,这并不意味着用于演示目的(如您所提到的)。

    主题问题如何,除了Stackoverflow,还有什么平台可以找到这些问题的答案?如果有这样一个平台,请将我重定向到那里。这个问题很好,imo。它对我很有帮助,这不是这个网站的目的吗?我也完全同情你,这里有太多的人(特别是在stackoverflow上)在这里游行,他们都是高高在上的向下投票,对问题提出荒谬的琐碎主张。我想我已经在stackoverflow上贴了大概两次了,因为这个原因,这真的不值得了,我宁愿花更多的时间来解决一些问题,然后在这里喂养一些巨魔/卑鄙的人。