【问题标题】:Any way to display C++ on a webpage?有什么方法可以在网页上显示 C++?
【发布时间】:2010-06-14 22:59:26
【问题描述】:

有没有一种相对简单的方法可以在网页上显示 C++ 程序的输出?而且我的意思不是手动,换句话说,你在网页上看到它,因为它运行而不是我自己制作代码标签并编写它。

编辑:为了让每个人都清楚这一点,我将把它贴在这里。我不是想用 C++ 制作网页。如果这听起来很恶意或其他什么,请原谅我,但我得到了很多与此相关的答案。

【问题讨论】:

    标签: c++


    【解决方案1】:

    第一步,让自己成为一种服务器端语言。无论是 PHP、ASP、Python、Ruby 等等。把它设置好,这样你就可以上菜了。

    第二步,找到您的语言对应的 exec。几乎所有人都有。它会让您像从命令行一样运行命令,通常带有参数并捕获输出。这是 PHP 的:

    http://php.net/manual/en/function.exec.php

    当然,如果您将用户输入作为参数传递,请清理!


    我刚刚看到您接受了 Scott 的回答。我通常不会如此执着地追逐一个 SO 线程,但我担心你会犯一个错误,你会后悔的。直接访问您的程序及其自己的内置服务器是一个糟糕的主意,原因有两个:

    1. 你浪费了一天时间来实现这个内置服务器,然后让它持久化并测试它

    2. 更重要的是,您刚刚在您的服务器中打开了另一个攻击向量。在安全方面,请保持简单。

    让您的 C++ 应用程序在另一种(成熟的)服务器端语言之后运行会更好,因为所有工作都已为您完成,并且它可以过滤输入以确保安全。

    【讨论】:

      【解决方案2】:

      您可以使用 C++ 编写 CGI 应用程序,也可以使用现有的 Web 服务器语言来执行命令并将输出发送到客户端。

      【讨论】:

        【解决方案3】:

        你想使用Witty

        Wt(读作“witty”)是一个 C++ 用于开发交互式网络的库 应用程序。

        API 以小部件为中心且类似 到桌面 GUI API。对开发商来说, 它提供了任何完整的抽象 特定于 Web 的实现细节, 包括事件处理、图形 支持,优雅降级(或 渐进增强),漂亮 网址。

        与许多基于页面的框架不同,Wt 旨在创建有状态的 同一时间的应用程序 高度互动(利用 诸如 AJAX 之类的技术 最完整)和可访问(支持 普通 HTML 浏览器),使用自动 优雅的退化或渐进的 增强。

        该库附带一个应用程序 充当独立网络的服务器 服务器或通过 FastCGI 集成 与其他网络服务器。

        【讨论】:

          【解决方案4】:

          我不确定这是否是您要查找的内容,但您可能想要 CGI 您可能想要查看 this SO question,C++ 可能不是您想要做的最佳语言。 s>

          根据您发布的问题编写一个您想要的网络应用程序并非易事。我建议使用其他一些库 (this is one i found with a quick google) 在您的服务器上获取 Web 控制台,并为运行它的用户授予对除您安装应用程序的文件夹之外的每个文件夹的执行拒绝权限。

          如果您没有正确设置安全性,这仍然是一种危险的方法,但它是最简单的解决方案,无需过多地挖掘现有库以使应用程序具有交互性。

          编辑—— “最佳”解决方案是学习 AJAX 并让您的程序使用它发布自己的页面,但就像我说的那样,这并不容易。

          【讨论】:

          • 我不想用 C++ 编写网页。我正在尝试显示 C++ 程序的输出。
          • 您希望输出是实时的,还是每次刷新时都获得当前缓冲区?
          • 我希望输出是实时的。从本质上讲,我的目标是有人用 C++ 编写一些代码,并显示该人在网站上编写的程序的输出,以便用户可以像在终端或命令提示符中一样进行交互。
          • 它会期待任何用户输入吗?
          • HTTP 的问题在于它是一个请求/响应模型。您需要将主程序包装到 Web 请求处理程序中。您可以将当前输出流式传输出来,但标准输入必须通过 AJAX 调用处理回您的程序。
          【解决方案5】:

          听起来您想要在网页中嵌入 telnet 会话之类的东西。快速谷歌搜索了许多 Java telnet 应用程序,但我没有资格评估哪个最适合嵌入到 html 中。

          您将在主机上设置登录脚本以运行您的 c++ 应用程序,并且用户将通过 shell 窗口与其交互。请注意,这仅适用于纯命令行应用程序。如果您想以这种方式使用 GUI 应用程序,那么您应该研究远程桌面软件或 VNC。

          【讨论】:

            【解决方案6】:

            可能值得在Adobe Labs上查看 Adob​​e 的“Alchemy”项目

            这可能会帮助您实现您想要实现的目标。

            :)

            【讨论】:

              【解决方案7】:

              您是否正在寻找类似codepad.org 的东西?我相信他们会解释他们是如何做到的here

              【讨论】:

                【解决方案8】:

                有一个名为 C++ Server Pages - Poco 的库。我将它用于我的一个大学项目,它非常好。还有很好的文档可以开始使用,你可以在这里找到它http://pocoproject.org/docs/

                【讨论】:

                  猜你喜欢
                  • 2010-11-08
                  • 2019-04-03
                  • 2022-08-05
                  • 2019-12-27
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2022-01-14
                  相关资源
                  最近更新 更多