C++ 的 Web GUI控制台应用程序?
我有一个 C++ 项目,需要某种 GUI,但我没有时间学习 Win32 API(或 qt 或 gtk)之类的东西。
所以我的问题是: 我有哪些选项可以为我的 C++ 控制台应用程序构建基于 Web 的 GUI?例如,是否可以使用 HTML 作为 GUI 并以某种方式将我的 C++ 代码嵌入到网页中?
谢谢。
I have a C++ project which I need to have some sort of GUI for, and I don't have time to learn something like the Win32 API (or qt or gtk for that matter).
So my question is:
What options do I have for building a web-based GUI for my C++ console application? For example, is it possible to use HTML for the GUI and somehow embed my C++ code into the webpage?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
您是否考虑过使用 Wt 网络工具包?它是一个 C++ 库,为 C++ 程序提供 Web 用户界面。
您还可以使用一些 HTTP 服务器库,例如 libonion。
Did you consider using the Wt web toolkit? It is a C++ library to give a Web user interface to a C++ program.
You could also use some HTTP server library like libonion.
检查 CppCMS 框架。它使得用 C++ 实现 Web 服务、处理请求和输出响应变得容易,还可以使用 HTML 模板。简单来说,就是服务器端嵌入式 C++ 脚本功能。
Check CppCMS framework. It makes it easy to implement Web services in C++, handle requests and output responses, also with HTML templates. Simply, server-side embedded C++ scripting capability.
基于 Web 的 GUI 在客户端运行,代码仅限于 Javascript。要在站点上运行 C++,您需要设置一个服务器,该服务器可以通过控制台调用 C++ 代码并接受控制台的输出。然后,您必须使用页面帖子或 ajax 调用将该信息传达给客户端。
Web based gui's run on the client side and code is limited to Javascript. To run C++ on your site you would need to set up a server that can make calls to the C++ code via the console and accept the output from console. Then you would have to communicate that information to the client using page posts or ajax calls.
我怀疑这就是你想要的,但是有
PoCo http://pocoproject .org/docs/Poco.Net.HTTPServer.html
它有一个 HTTPServer/HTTPRequestHandler 模型,支持 C++ 中的一种服务器类型脚本(如
但使用 C++);请参阅此处查看示例:
<块引用>
http://pocoproject.org/documentation/PoCoOverview.pdf(部分2.9):
<块引用>
C++ 服务器页面编译器
页面编译器是一个命令行工具,可以翻译 HTML 文件(以及其他文件)
类型的文件)转换为 C++ 类,以便与由
网库.源文件可以包含特殊指令,允许
C++ 代码的嵌入。这些指令的语法基于
用于 Java Server Pages (JSP) 和 Active Server Pages (ASP) 的语法。这
使用 POCO C++ 可以非常轻松地用 C++ 构建 Web 应用程序
图书馆。
Klone 嵌入式 Web 服务器 做类似的事情
Emscripten 能够通过 LLVM 中间代码将大量 C++ 代码编译为 javascript。这可用于使用完全在网络浏览器中运行的现有库函数
I doubt that this is what you want, but there is
PoCo http://pocoproject.org/docs/Poco.Net.HTTPServer.html
It has a HTTPServer/HTTPRequestHandler model that supports a kind of server kind scripting in C++ (like
<?php ... ?>
but with C++); see here for sample:http://pocoproject.org/documentation/PoCoOverview.pdf (section 2.9):
Klone Embedded Webserver doing similar things
Emscripten is able to compile extensive C++ code via LLVM intermediate code to javascript. This could be used to use existing library functions running entirely in the webbrowser
控制台应用程序是否需要某种交互,或者只是需要一堆命令行参数,运行并转储一些输出?
如果您只想创建一个 Web 表单来输入值,在 shell 中运行应用程序并将结果格式化为网页 - 这很简单,建议使用 Python 之类的东西来编写包装器来启动程序,但任何方法都可以。
如果您需要在应用程序运行时与网络进行交互,请参阅 expect
Does the console app need some sort of interaction or does it just take a bunch of commandline parameters, run and dump some output?
If you just want to create a web form to enter the values, run the app in a shell and format the results into a webpage - that's easy, suggest something like Python to write the wrapper to launch the program but anything will do.
If you need to interact with the app from the web while it's running see expect
PHP 的 shell_exec 它将执行命令,就像从命令行。 Python 和 Ruby 框架可能在某种程度上支持 popen,尽管我没有具体信息。
PHP's got shell_exec which will execute a command as if from the command line. Python and Ruby frameworks probably support popen on some level, though I have no specific information.