用于android的在线c编译器

时间:2012-07-17 10:15:06

标签: c compiler-construction

朋友们,我是一名学位学生,并且正在考虑使用在线c编译器作为我的最后一年项目,就像键盘和键盘一样。 ideone。

所以这就是这个想法:

  1. 我将有一个带编译器的服务器,它将接受来自客户端的代码,编译它然后执行它。结果将被发送回客户。

  2. 客户端可以使用我的Android应用程序或桌面浏览器输入代码并将代码发送到服务器。

  3. 当然,沙盒和chrootjail以及其他技术都可以解决安全问题。

  4. 我的问题是我想将正在运行的程序的输入流连接到用户输入(浏览器或Android应用程序界面)。这样他就可以在程序执行时输入输入。

    示例:

    void main()
    {
    int i;
    printf("\n\n\t Enter  i's value : ");
    scanf("%d",&i); 
    // Here the program should wait till the user type input in browser or app. and then it should proceed.   
    }
    

    我的问题是如何实现这一目标。 我将不得不在服务器上执行程序,并通过编码将其输入流连接到客户端。

    用户可以输入输入,就像他可以输入在本地计算机上执行的程序一样。

    所有想法?

1 个答案:

答案 0 :(得分:1)

对于您正在运行的每个用户程序,还有一个启动它的管理器程序并处理与用户的通信。让经理程序创建两个管道,一个是程序的输入,另一个是程序的输出。 (如果你想单独处理错误输出,可以选择三个。)

当您从用户那里获取需要转到用户正在运行的程序的信息时,可以通过您喜欢的任何机制将其交给管理员进程。然后,管理器进程可以在连接到用户进程标准输入的管道上发送它。当管理器看到管道上的数据挂钩到用户进程的标准输出时,请将它放在某个地方,与用户通信的代码可以将其发送给用户。