【发布时间】:2012-08-28 03:38:11
【问题描述】:
我想编写一个 C++ 程序,以便根据配置文件可以是控制台应用程序或窗口应用程序。对于 GUI,我使用的是 WxWidget。我应该分别在 Windows 和 Linux (Buntu) 中做什么。
谁能提供一些简单的例子?
【问题讨论】:
-
我很困惑,默认情况下所有 C++ 程序都应该通过控制台运行。你在问什么?
-
在 Windows 中,/SUBSYSTEM 链接器标志定义应用程序是否具有控制台窗口。 AFAIK,在 Linux 中,任何应用程序都可以在终端内或不使用终端执行,因此这不依赖于应用程序本身。
-
澄清@AlexFarber 所说的:在Windows 上不可能创建一个程序来确定它已经开始运行的子系统。如果您需要支持控制台,请使用
main,然后在您确定应该运行 GUI 时调用FreeConsole隐藏控制台。控制台仍会弹出,但无法绕过它。 -
请澄清您的问题。您是否希望配置文件控制应用程序的编译方式,即在构建开始时读取配置,或者应用程序如何运行,即应用程序本身开始运行时。
-
@Mehrdad:一种常见的解决方法是将代码放在 dll 中,然后将 .exe 与 GUI 子系统一起使用,将 .com 用作控制台子系统。如果你在控制台输入
myapp,它会使用.com,然后让GUI快捷方式指向exe。
标签: c++ windows user-interface console-application wxwidgets