【发布时间】:2012-05-12 16:05:01
【问题描述】:
我有一个带有 GUI 的 Windows 程序,它还使用命令行界面(cmd 窗口)作为调试控制台。基本上,当它被双击时,它会启动一个命令行窗口,然后程序会创建所有的 GUI 窗口。然后您将拥有两个 Windows:主 GUI 和一个调试控制台。
我正在尝试将此程序移植到 OS X。因为当您运行命令行应用程序时,OS X(以及所有 Unix 操作系统)不会自动启动命令行窗口。所以,我显然需要另一种方式来移植这个应用程序。
我最初的想法只是将源代码导入 XCode 项目,重定向标准输入和输出,然后移植 GUI。 GUI 和控制台将像在 Windows 中一样并行运行。我认为这不是最佳解决方案,因为这意味着我基本上必须编写一个终端模拟器。
我的另一个想法是将应用程序移植为命令行应用程序,就像在 Windows 中一样创建它的 GUI。然后必须从可以处理所有 I/O 的 Terminal.app 运行应用程序。不幸的是,我认为你不能在不使用 NSApplication 循环的情况下使用 Cocoa 框架。
有什么想法可以解决这个问题吗?
【问题讨论】:
-
如果是 CLI,则将其视为 ... CLI。只需启动 Terminal/sh 或诸如此类的东西。也许是一个标志/检查以防止重新启动。希望它已经是“普通”或 Unixy-C ;-)
标签: objective-c macos cocoa command-line-interface porting