【问题标题】:Running a C++ program on a web page [closed]在网页上运行 C++ 程序 [关闭]
【发布时间】:2013-10-13 06:39:14
【问题描述】:

我有一个 C++ 程序,当它从命令行运行时,它会生成一个随机句子(从随附的文本文件中读取一个单词库)。

我有一个个人的、低流量的网页,我想让这个程序在页面上运行(例如,访问者可以按下一个按钮,程序中的一个随机句子会显示在那里)。

如果有的话,什么是实现这一目标的最轻松的方法?

我完全是 Web 相关应用程序的新手,但据我了解,这类事情是通过 cgi、脚本语言等执行的,它们可以在服务器或用户的机器上运行,并附带很多关于灵活性、可行性等方面的考虑。


编辑:更多细节,如果有帮助的话:

特别是,我希望能够在 C++ 中做以下简单的事情:

-从我自己的文本文件中读取(因此,它将在服务器上)并将我读到的单词存储到数组类型的结构中

-从这些数组中随机选择单词

-以不同的方式组装这些词的不同组合,这取决于更多的随机数生成

-将组装好的句子打印到屏幕上


如果还是太宽泛(也许我只是不知道网络应用的潜在范围!):

我在 C++ 实现中使用的文本文件包含一长串表示不同词性的单词(加上终止字符“#”);每个列表都被读入不同的向量,例如“文章”、“名词”等:

a 和 ... #

猫狗青蛙鲍勃乔宇航员程序员...#

吃败打耳光违反...#

跑着跳着……#

因此,除了能够很好地存储内容之外,我可能还想要一些可以在尽可能多的浏览器中运行的东西,但也可能需要在不是我自己的主机上允许的东西。不确定所有需要考虑的因素,但边走边学……

【问题讨论】:

  • CGI 无疑是最低技术含量的方法。我会从那里开始。但是,托管您的网站的人肯定会对此有话要说。
  • CGI 应用程序可以用 C++ 编写,如果您更熟悉 C++,则不必使用脚本语言。
  • CGI 是一种可能性,但如果您是 Web 应用程序的完全新手,我的直觉是转换命令行程序并不是最轻松的方法。也许用 Javascript 重写程序会更容易。
  • 我认为 Javascript 可能是要走的路。弄清楚如何从我的本地 words.dat 文件中读取会很有趣,但我至少可以说我已经实现了“你好,世界!”网页上的JS到此为止! :-)
  • 也许你想熟悉一下新发布的 WebAssembly。这是一个starting point,用于在浏览器中运行一个简单的 c++ 程序。

标签: c++ html web cgi scripting-language


【解决方案1】:

嗯,我会为此使用 php/javascript:

  1. 在服务器上创建php脚本:

    <?php
    $out = '';
    exec( 'myprogram cmdline', $out );
    echo $out;
    ?>
    
  2. 在按钮上单击为脚本创建 Ajax 请求以获取新单词并显示它。我建议您使用jQuery 库。那么你的js代码会是这样的:

    <script>
    
    var showNewWord = function() {
        $.ajax( "myscript.php" ).done(function( msg ) {
            alert( "new word is " + msg );
        });
    }
    
    </script>
    
    ...
    <button onclick="showNewWord()">Show new word</button> 
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 2012-01-26
    • 2011-09-30
    • 1970-01-01
    相关资源
    最近更新 更多