跨平台、基于交互式文本的界面,具有命令完成功能

2024-01-15

有谁知道有一个 C++ 库可以提供基于文本的交互界面吗?我想创建一个应用程序的两个版本;基于控制台的程序,它将执行命令行上或在控制台上交互给出的任何操作,以及基于 GUI 的程序(Mac Cocoa 和 Windows MFC)。两个版本将共享一个共同的 C++ 后端。

对于基于控制台的程序,我希望具有类似的历史记录功能readline http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html(我不能使用它,因为该应用程序将是闭源的)与命令完成(例如选项卡激活)。

也许已经有类似的东西了?


没有特定的顺序(我没有使用过它们),你应该看看:

  • editline http://thrysoee.dk/editline/
  • 线路噪声 https://github.com/antirez/linenoise
  • tecla http://www.astro.caltech.edu/~mcs/tecla/index.html

如果这些都不符合您的喜好,您还有另一种可能性,甚至可能是首选。将后端编写为守护程序,并让前端成为一个哑程序,通过任何形式的进程间通信与后端进行通信。然后,您可以毫无问题地将任何 GPL 库用于您的前端,因为您可以将前端作为开源发布。当然,这将暴露前端和后端之间的通信协议,因此您必须确保接受这一点,当然其他人可能会觉得需要对您的前端进行定制,甚至可能进行自己的前端定制。但假设你的值无论如何都在后端,这应该不会造成特定的问题。它甚至可能被认为是一个优点,它允许任何有聪明想法的人以新的和意想不到的方式使用您的软件,只会增加您的软件的受欢迎程度。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

跨平台、基于交互式文本的界面,具有命令完成功能 的相关文章

随机推荐