Kompilacja i uruchomienie kodu C# w linii poleceń (Windows, Linux). W czasach moich studiów na 1 roku uczyłem się programować w języku C++. Uczyłem się wtedy zasad OOP (Object Oriented Programming), potocznie nazywanych: obiektowość. Przede wszystkim czas płynął a ja sądziłem, że nadal uczą obiektowości na przykładzie języka C++.
Podczas, gdy ja naturalnie przesiadłem się na język C#, uczelnie zrobiły podobny krok. Kompilacja C++ odbywała się z linii poleceń w zasadzie pod dowolnym systemem operacyjnym. Wtedy głównie pisałem pod Linuxem. Czy obecnie C# daje takie same możliwości?
Tak. Okazuje się, że praktycznie dla każdego użytkownika znajdzie się narzędzie do programowania w C#. Oczywiście zalecanym przez Microsoft narzędziem do programowania w C# jest Visual Studio (lub Visual Code) – duże środowisko IDE. Moim celem jest jednak pokazanie możliwości kompilacji i uruchamiania kodu z linii poleceń.
W sieci można znaleźć różne narzędzia dla różnych systemów operacyjnych. I tak mamy:
- CSC – C-Sharp Compiler,
- Mono – dostępny razem z MonoDevelop i działający np. w terminalu pod Linuxem,
- REPL.it – ciekawa strona pokazująca wynik działania programu.
Kompilacja i uruchomienie pod systemem Windows
W systemie Windows kompilacja z linii poleceń wydaje się najprostsza do realizacji. Mianowicie wystarczy zainstalować .NET Framework (https://dotnet.microsoft.com/download/dotnet-framework/net472) i dla wygody dodać ścieżkę instalacji (C:\Windows\Microsoft.NET\Framework\v4.0.30319) do zmiennej środowiskowej „PATH”. Po takim zabiegu można już otworzyć linię poleceń (Win + R, wpisz cmd i uruchom) i poleceniem csc skompilować program.
csc /out:hello_world.exe hello_world.cs
Kompilacja i uruchomienie pod systemem Linux
W systemie Linux możemy użyć kompilatora mcs, który jest instalowany przy okazji instalacji MonoDevelop.
sudo apt install apt-transport-https dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/ubuntu vs-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-vs.list
sudo apt update
Opcja tylko z instalacją mcs:
sudo apt-get update
sudo apt-get install mono-mcs
Po poprawnej instalacji mcs, można tworzyć pliki w dowolnym edytorze i kompilować je w terminalu.
mcs -out:hello_world.exe hello_world.cs
Jeśli chodzi o uruchomienie pliku wynikowego to nie jest taka łatwa sytuacja, ale jest kilka rozwiązań. Możemy się wspomóc poleceniem mono lub użyć wine’a.
mono hello_world.exe
wine hello_world.exe
Ciekawostka: podczas kompilacji można dołączyć biblioteki z systemu Windows.
mcs -out:program.exe -r:System.Windows.Forms.dll -r:System.Drawing.dll *.
Hello world w C#
Na koniec klasyczny przykład programu hello world w języku C#
using System;
class HelloWorld {
static void Main() {
Console.WriteLine("Hello World");
}
}
Jeśli chodzą Ci po głowie podobne pomysły to napisz o tym w komentarzach. Jeśli jesteś zainteresowany podobnymi tematami to napisz o tym. Od niedawna założyłem konto na facebook’u, na które zapraszam.
[responsivevoice_button voice=”Polish Female” buttontext=”Odtwórz”]