GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak vytvořit zjednodušené prvky podobné oknu v programu příkazového řádku?

Když spustím sudo dpkg-reconfigure lightdm v terminálu vidím zjednodušenou seznamovou nabídku podobnou oknu. Existuje způsob, jak něco takového vytvořit v C++?

Vypadá to nějak takto:

Přijatá odpověď:

Textové rozhraní podobné oknu obsažené v terminálu, které uvidíte, když spustíte sudo dpkg-reconfigure lightdm je kódován pomocí ncurses knihovna. Takže pokud chcete, aby váš program poskytoval rozhraní, které vypadá takto, můžete také použít ncurses.

  • Zde je stránka projektu ncurses.

  • Zde je návod, jak programovat NCURSES.

  • Některé soubory dokumentace ncurses můžete nainstalovat pomocí ncurses-doc balíček.

    To zahrnuje manuálovou stránku ncurses, kterou si také můžete prohlédnout online zde. Obsahuje také manuálové stránky pro všechny funkce poskytované knihovnou ncurses (některé sdílejí manuálovou stránku). Tyto manuálové stránky nejsou aktuálně online na manpages.ubuntu.com.

Chcete-li vytvořit software pomocí ncurses v Ubuntu, měli byste získat příslušný balíček záhlaví. Pokud neprovádíte křížovou kompilaci, bude to:

  • Pro programy používající tradiční řetězce, kde je většina znaků reprezentována jedním bajtem (například UTF-8), použijte libncurses5 .

    To je pravděpodobně to, co chcete, pokud jsou vaše řetězce pole char (v C a dalších jazycích založených na C) nebo std::string (v C++).

  • Pro programy vyžadující širokou podporu znaků použijte libncursesw5 .

    Budete to potřebovat zejména v případě, že vaše řetězce jsou pole wchar_t (v C a dalších jazycích založených na C) nebo std::wstring , std::u16string , nebo std::u32string (v C++).

Volitelně můžete také pomoci s laděním svého programu chtít symboly ladění (pro ladicí programy, jako je gdb). K tomu si nainstalujte libncurses5-dbg nebo libncursesw5-dbg také.

Když vytváříte svůj program pomocí GCC (např. pomocí gcc nebo g++ příkazy), zadejte mu argument -lncurses nebo -lncursesw , obvykle na samém konci příkazu. Toto propojí váš program s knihovnou ncurses. Například:

g++ -Wall -g -o hello hello.cpp -lncurses

Tím se zkompiluje hello.cpp k vytvoření spustitelného souboru se symboly ladění (-g ), s názvem ahoj (-o hello ), varování u většiny věcí, na které byste mohli chtít varování (-Wall ) a propojení s běžnou (ne širokými znaky) knihovnou ncurses (-lncurses ).

Související:Je možné mít různé pozadí pro každý pracovní prostor v Ubuntu?
Ubuntu
  1. Jak vytvořit aliasy kláves příkazového řádku v Linuxu

  2. Jak vytvořit trvalé USB?

  3. Jak vytvářet vlákna v Linuxu (pomocí ukázkového programu C)

  1. Jak vytvořit uživatele Sudo v Debianu

  2. Jak vytvořit Linux bootovatelné USB z Linux Command-Line

  3. Jak vytvořit rozsah?

  1. Jak vytvořit tabulku v Hive

  2. Jak vytvořit soubor v Ansible

  3. Jak vytvořit tabulku v MySQL