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

Sushil Bharwani:

尽管这是一个范围更广的问题,但我想为我的公司编写一个在线测试代码,在该代码中,人们可以被问到如何用java / php / c等编写代码,并且该代码可以在线运行和编译。我已经在Codeacademy,Udacity等网站上看到了这种情况。只是想了解其背后的体系结构。我在Google上进行了很多类似的搜索,但找不到具体答案。虽然在零零碎碎地阅读完之后,我知道代码已发送到服务器上的编译器,然后将结果发送回去。不知道这是怎么发生的。有人可以指出我的出发点吗?

马努:

根据应用于Web架构的MVC模式,您基本上可以拥有的是这样的东西:

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

操作顺序可以是:

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

但是,总的来说,重点是编译器和解释器是基本软件。它们不适合一般用户使用,这些用户只能轻松地与操作系统一起使用。因此,据我所知,“在线编译”与“发布代码,使其在服务器上执行并可视化答案”不同。在线编译将意味着在整个网络上分配编译的责任,这确实是有道理的,但是在我看来,它并不旨在用于演示目的(就像您提到的那样)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在同一个ASP.NET Web窗体应用程序中包含c#和vb.net代码?

使用PHP运行C ++代码

在Linux中使用一个命令编译和运行C ++代码

如何从Java代码编译和运行Java和C文件?

如何在Java应用程序中运行PHP代码?

C# Visual Studio 单元测试不再在一个存储库中运行,而是在另一个存储库中运行:相同的服务应用程序代码

如何使用PHP在WebBrowser中运行C代码

我将如何创建一个可以从应用程序内部更改 Python 代码的应用程序?

PHP中显示的C / C ++ / Java源代码Unicode字符

谁能举一个简短的示例,说明如何使用c ++开发Windows窗体应用程序以及如何在cpp文件中编写代码。

如何运行一个文件源代码的Java程序时,通过编译器选项?

Elixir 应用程序运行一个 PHP 脚本

如何编译和运行一个C++开源程序?

从php执行C代码

将32位和64位应用程序(具有相同的代码)编译为一个exe

如何使用Kubernetes运行一个简单的PHP Hello World应用程序

C#Web应用程序-在每次加载页面时运行特定类型的代码

尝试创建一个短代码来插入一个反应应用程序

如何在没有 gcc 编译器的情况下在 docker 中打包和发布一个简单的 c 应用程序?

如何将此 PHP 转换为 C# 代码?

在退出 C# 窗口应用程序之前运行代码

Android应用程序中的C / C ++代码如何执行?

在R程序包中共享已编译的C代码并从另一个程序运行它的首选方法是什么?

创建包含 Python 代码的 C++ 应用程序

从Java应用程序编译并运行源代码

如何托管一个用Java / C#/ Python编写的小型RESTful应用程序?

如何在桌面上运行 JS 应用程序并调用 C 代码?

我如何创建一个利用开源C项目的C ++控制台应用程序

如何编写、编译和运行 C# 代码段或脚本