3

我在 C 语言中对交通圈 替代文本中的汽车进行了以下模拟 http://dl.getdropbox.com/u/175564/cars.png

例如,

7 <space> <enter>

为模拟提供更多汽车,同时

s1 <enter>

在进入的道路#1 上放置一个顶部标志。

我想将模拟放到一个互联网页面上,以便用户可以尝试。但是,我不知道我应该从哪里开始。

我了解 Joomla,对 Django 知之甚少。也许,它们可能有用。

您如何将 C 程序放到网页上,以便用户可以使用它?

4

7 回答 7

4

CGI 就是你想要的;它可以让你将任何你想要的程序嵌入到一个网站中,它就是为此目的而制作的。然后也许用 PHP 和 HTML 嵌入更多选项将让用户通过网络将数据准确地输入到程序中。它不应该太难。

在这里查看更多信息:http ://www.cs.tut.fi/~jkorpela/perl/cgi.html

我认为这是朝着正确方向的一个很好的指针。我希望这会有所帮助。

于 2009-04-25T00:34:24.637 回答
4

您可以使用炼金术在 Flash 应用程序中运行 C 代码:

http://labs.adobe.com/technologies/alchemy/

于 2009-04-25T00:46:18.663 回答
2

这是用 C 编写 CGI 的一个很好的介绍:http ://www.cs.tut.fi/~jkorpela/forms/cgic.html

但是,由于您是初学者,我建议您将程序移植到PHP。这是一种非常容易上手的语言,而且它比用 C 编写 CGI 要容易得多。

于 2009-04-25T00:41:41.077 回答
2

我假设 C 程序在运行时需要输入而不是通过命令行参数?如果我错了,你可以只使用 PHP 和 shell_exec() 来运行程序。该函数返回打印到标准输出的任何内容。

这样的页面可能如下所示:


    $sim = shell_exec("/path/to/binary -a 5 -b 6");
    echo $sim;

传递给 shell_exec 的字符串正是您在命令行中键入的内容。

于 2009-04-25T00:42:11.327 回答
2

如果您想要一个动态模拟,即在您观看时汽车移动的地方,您将需要一个小程序或闪存。

cgi 程序在每个 http GET/POST 上呈现页面(在重新加载、提交等时),这可能不是您想要的。

于 2009-04-26T08:51:09.643 回答
1

我将从 Flash 或 Java 小程序包装器开始。您可以通过 tcp 连接与您的应用程序进行通信,并在 flash 或 applet 中显示结果。

于 2009-04-25T00:24:23.880 回答
1

我建议使用套接字。如果您的 C 程序可以设置和侦听本地或 Internet 套接字,则可以使用任何语言的套接字工具向其发送参数并获取输出。

如果这太痛苦了,让 php 执行程序,同时将输出定向到某个文件。然后,让 php 读取该文件。

查看程序的输出,我认为尝试打印 shell_exec() 的结果会导致输出被破坏。

因此,您可以 shell_exec("/bin/program -arguments > /tmp/prog-tmp.txt") ,然后阅读 prog-tmp.txt。

于 2009-04-25T00:52:49.723 回答