我使用通常無人值守的應用程序。現在我需要添加一些類似於交互式提示的東西。在交互模式下,操作員將能夠嚮應用程序提供簡單的命令 - 沒有任何花哨的簡單命令,如開始和停止。參數化命令(例如重複10)和命令歷史記錄可能也不錯。C++中的簡單交互式提示
你是否偶然知道任何可以幫助完成這些任務的圖書館。我一直在想像boost::program_options
或gflags
的作品,但是用於交互式提示而不是命令行參數。有任何想法嗎?
謝謝
我使用通常無人值守的應用程序。現在我需要添加一些類似於交互式提示的東西。在交互模式下,操作員將能夠嚮應用程序提供簡單的命令 - 沒有任何花哨的簡單命令,如開始和停止。參數化命令(例如重複10)和命令歷史記錄可能也不錯。C++中的簡單交互式提示
你是否偶然知道任何可以幫助完成這些任務的圖書館。我一直在想像boost::program_options
或gflags
的作品,但是用於交互式提示而不是命令行參數。有任何想法嗎?
謝謝
的Readline是一個最有名的圖書館這個
http://tiswww.case.edu/php/chet/readline/rltop.html
它是由GPL授權,所以它是唯一可能在GPL兼容的程序來使用。
我做替代品快速搜索,並發現這一點:
一種可能性是打開一個TCP端口並接受文本格式的消息。然後你可以telnet到那個端口併發出簡單的命令。
我不知道,如果下面是工作的你要怎樣做一個合理的量,但是Python有一個叫做cmd2的非常好的命令行界面(CLI)構建庫。如果可以使用SWIG或CTypes將應用程序的相關部分暴露給Python,那麼完成其他應該很容易。
下面是關於CMD2一個很好的視頻演示:
PyCon 2010:Easy command-line applications with cmd and cmd2
HTH
謝謝,但我希望有一些東西可以讓我真正定義命令,以便庫處理所有的解析。 – FireAphis 2010-08-09 14:13:52
@Lou Franco:+1讓我發現linenoise,一顆小寶石! :-) – 2012-09-11 14:17:10