GNU/Linux >> Znalost Linux >  >> Linux

Psaní a ladění aplikací Linux C++ ze sady Visual Studio pomocí podsystému Windows pro Linux

O „subsystému Windows pro Linux“ (také známém jako „Bash na Ubuntu ve Windows“) jsem blogoval již mnohokrát. Reakce na tuto funkci Windows byla trochu legrační, protože lidé se snaží:

  • Minimalizujte to – "Ach, je to jen Cygwin." (Ve skutečnosti to tak není, jsou to skutečné binární soubory elfů Ubuntu běžící na vrstvě, která abstrahuje jádro Linuxu.)
  • Navrhněte jej – "Takže je to kontejner dockeru? VM?" (Opět je to celý subsystém. Dělá MNOHEM více, než byste si mysleli, a je RYCHLEJŠÍ než VM.)

Zde je jednoduché vysvětlení od Andrew Pardoe:

1. Vývojář/uživatel používá bash shell.
2. Shell bash běží na instalaci Ubuntu
3. Instalace Ubuntu běží na subsystému Windows. Tento subsystém je navržen tak, aby podporoval Linux.

To je parádní. Upřímně řečeno, WSL mě udrželo v chodu Windows, protože mohu spouštět cmd, powershell, NEBO bash (nebo zsh nebo Fish). Můžete spouštět vim, emacs, tmux a spouštět Javascript/node.js, Ruby, Python, C/C++, C# &F#, Rust, Go a další. Nyní můžete také spouštět sshd, MySQL, Apache, lighttpd, pokud víte, že když zavřete poslední konzoli, služby na pozadí se vypnou. Bash ve Windows je pro vývojáře, nikoli pro serverové aplikace na pozadí. A samozřejmě, apt-dostanete se ke slávě.

Bash na Windows spouští binární soubory uživatelského režimu Ubuntu poskytované společností Canonical. To znamená, že nástroje příkazového řádku jsou stejné jako ty, které běží v nativním prostředí Ubuntu.

Chtěl jsem napsat aplikaci Linux Console v C++ pomocí Visual Studia ve Windows. Proč? Proč ne? Líbí se mi VS.

Nastavení sady Visual Studio 2017 pro kompilaci a ladění aplikací C++ v systému Linux

  • Mám Visual Studio Community, která je zdarma pro malé skupiny a open source.
    • Pokud jej již máte nainstalovaný, nezapomeňte znovu spustit instalační program Visual Studio (je rychlý, nebojte se) a vyberte Linux:
  • Ujišťuji se, že můj Windows 10 je aktuální a má nainstalovaný Bash na Ubuntu.
    • Vydání „Windows 10 Creators Edition“ vychází 11. dubna, ale pokud jste Windows Insider nebo používáte Update Assistant, můžete si jej pořídit 5. dubna. Zahrnuje spoustu vylepšení Bash ve Windows (poznámky k vydání)

Poté se z bash shellu ujistěte, že máte build-essential, server gdb a server openssh:

$ sudo apt update
$ sudo apt install -y build-essential
$ sudo apt install -y gdbserver
$ sudo apt install -y openssh-server

Poté otevřete /etc/ssh/sshd_config s vi (nebo nano) jako

sudo nano /etc/ssh/sshd_config

a pro jednoduchost nastavte Ověření heslem na ano . Pamatujte, že to není tak velký bezpečnostní problém, jak byste si mysleli, protože démon SSHD se zavře, když se to udělá vaše poslední konzole, a protože subsystém WSL musí dobře hrát s Windows, je zasvěcen do brány Windows Firewall a všech jejích stávajících pravidel, plus my Mluvím také o localhost.

Nyní vygenerujte klíče SSH a ručně spusťte službu:

$ sudo ssh-keygen -A
$ sudo service ssh start

Vytvořte aplikaci pro Linux ve Visual Studiu (nebo otevřete aplikaci Makefile):

Ujistěte se, že znáte svůj cíl (x64, x86, ARM):

Ve Správci připojení mezi platformami sady Visual Studio můžete ovládat svá připojení SSH (a nastavit je pomocí soukromých klíčů, pokud chcete.)

Výložník. Píšu C++ pro Linux ve Visual Studiu na Windows...spouštím, kompiluji a ladím na místním Linuxovém subsystému

BTW, pro ty z vás, jako jsem já, kteří milují své malé linuxové počítače Raspberry Pi...toto je skvělý způsob, jak psát C++ i pro tato malá zařízení. V Soubor | je dokonce příklad Blink Nový projekt ke spuštění.

Také pro ty z vás, kteří jsou velmi pokročilí, přestaňte používat Mingw-w64 a udělejte skvělé věci, jako je kompilace gcc 6.3 ze zdroje pod WSL a VS to používá! Neuvědomil jsem si, že podpora jazyka C++ sady Visual Studio vám umožňuje vybrat si mezi řadou kompilátorů C++ včetně GCC a Clang.

Sponzor: Díky Redgate! Sledujte každou změnu v databázi ! Podívejte se, kdo provedl změny, co udělal a proč, pomocí SQL Source Control. Získejte úplnou historii verzí ve svém systému řízení zdroje. Podívej jak.

Linux
  1. Psaní Python aplikací, vytváření linuxových laboratoří a další tipy pro systémové správce

  2. Použití Windows DLL z Linuxu

  3. Použití Windows Subsystem for Linux (WSL) od Sublime Text

  1. Windows – Jak vynutit kódovou stránku/místní nastavení (odlišné od národního prostředí systému Linux) pro aplikace Wine bez Unicode?

  2. Kali na podsystému Windows pro Linux

  3. Vzdálené ladění linuxového procesu z Windows pomocí gdb a gdbserver:co přesně je potřeba na straně Windows?

  1. Zjistěte verzi OS, Linux a Windows z Powershell

  2. Jak získat přístup k webovému serveru, který běží na WSL (Windows Subsystem for Linux) z místní sítě

  3. Jak nastavím velikost ukazatele myši X v subsystému Windows pro Linux