Hoe C # -programma's op een Raspberry Pi te schrijven met Mono
Omdat de Raspberry Pi in staat is om een volledige Linux-distributie uit te voeren, is zijn potentieel als ontwikkelingsinstrument enorm. Niet alleen ondersteunt de Pi de mainstream gecompileerde talen zoals C, C ++ en Java, het ondersteunt ook populaire scripttalen zoals Python, Perl en Lua. De Pi kan ook enkele van de minder bekende (maar net zo krachtige) gecompileerde talen gebruiken, zoals Google's Go-taal en C #. Het gebruik van de laatste op de Raspberry Pi is eenvoudig dankzij het open source Mono-project.
Mono is een set hulpprogramma's (inclusief een C # -compiler en de Common Language Runtime) die wordt gebruikt om ".NET" -compatibele programma's te maken op basis van de gepubliceerde ECMA-normen. In essentie kun je C # -code compileren en uitvoeren op Linux, en de resulterende binaries zijn volledig compatibel met Microsoft.NET.
Om Mono op de Raspberry te installeren, gebruik:
sudo apt-get install mono-complete
De volgende stap is het compileren van het standaard "Hello World" -programma. Maak een bestand met de naam "hello.cs" met je favoriete teksteditor. Als u het met nano wilt maken, typt u:
nano hello.cs
Knip en plak de volgende code:
systeem gebruiken; public class HelloWorld {static public void Main () {Console.WriteLine ("Hello Make Tech Makkelijker"); }}
C # is een objectgeoriënteerde taal, wat betekent dat alles in een klasse is gedefinieerd. De bovenstaande code creëert een klasse met de naam "HelloWorld" en definieert een functie binnen die "Main" genaamd. Hoofd () is altijd het startpunt voor C # -programma's. "Console.WriteLine" drukt tekst af naar de terminal (console).
Om het programmatype te compileren:
mcs hello.cs
Hiermee wordt een bestand met de naam "hello.exe" in de huidige map gemaakt. Normaal gesproken gebruiken binaire bestanden in Linux de extensie ".exe" niet, het komt van DOS en Windows. Als je het bestandstype "hello.exe" aanvinkt, zul je zien dat het eigenlijk een Intel-uitvoerbaar bestand is:
bestand hello.exe
De uitvoer toont dat "hello.exe" een Mono / .Net-assembly is die is gebouwd om op een pc met Windows te worden uitgevoerd, met behulp van een Intel-processor. Maar we hebben het gecompileerd op Linux, met behulp van een ARM-processor!
Dit komt omdat .NET eigenlijk een tussentaal gebruikt die geïnterpreteerd wordt door de Common Language Runtime. Het begin van het .exe-bestand is de daadwerkelijke Intel / Windows-code waarmee de runtime automatisch wordt gestart en de rest van het programma (als tussencode) kan worden uitgevoerd.
De officiële manier om het programma op een Raspberry te starten is via het "mono" -commando:
mono hello.exe
En zoals je zou verwachten, zal de output "Hello Make Tech Makkelijker" weergeven in de terminal. Omdat de uitvoer van Mono binair compatibel is met Windows, kunt u het bestand "hello.exe" naar een Windows-pc kopiëren en rechtstreeks uitvoeren.
Het is ook mogelijk om GUI-programma's te schrijven met behulp van GTK. Maar eerst moet je de bindingen tussen Mono en GTK installeren:
sudo apt-get install gtk-sharp2
Maak een bestand met de naam "hellogtk.cs" met de volgende code erin:
Gtk; systeem gebruiken; class Hello {static void Main () {Application.Init (); Window window = new Window ("Hello MTE"); window.Show (); Application.Run (); }}
Dit is een heel, heel eenvoudig GTK-programma dat een nieuw venster opent. Om het te compileren typt u:
mcs hellogtk.cs -pkg: gtk-sharp-2.0
De vlag "pkg" vertelt Mono dat dit programma de GTK-toolkit moet gebruiken. Als u "hellogtk.exe" wilt uitvoeren, moet u ervoor zorgen dat het bureaublad op uw Pi wordt uitgevoerd. Voer het binaire bestand uit vanuit de bestandsbeheerder of vanaf een terminal die vanaf het bureaublad is gestart.
Er wordt een klein venster geopend met de titel 'Hallo MTE'. De app doet niets anders, maar het laat zien dat u GUI-programma's op uw Pi kunt schrijven met C #.
Mono heeft een cross-platform IDE-zusterproject, bekend als MonoDevelop. De projecten maken het gemakkelijk om desktop- en ASP.NET-webtoepassingen te schrijven onder Linux, Windows en Mac OSX. Het is ook beschikbaar op de Raspberry Pi. Om het te installeren, typt u het volgende in een terminal:
sudo apt-get install monodevelop
Als je vastloopt met Mono, bevat de ondersteuningspagina van het project koppelingen naar de forums, mailinglijsten en de veelgestelde vragen. MonoDevelop heeft ook uitgebreide documentatie en een pagina met veelgestelde vragen.