ERLEDIGT
NEIN
NEIN
ANTWORTEN
9
9
ZUGRIFFE
7833
7833
EMPFEHLEN
-
Hallo an alle,
mein Problem besteht, wie das Thema schon verrät, darin, ein in C# geschriebens Programm unter WinXP bzw. idealerweise sogar unter Linux/Mac zum Laufen zu bekommen, auch ohne Microsoft .NET Framework.
Vielen herzlichen Dank im Vorraus für eure Antworten,
MfG Philipp
-
Hallo,
ich erzähls mal so wie ichs kenn.
Beim kompilieren von C# wird kein Binärcode erzeugt sondern Vorcode erstellt.
Zur Laufzeit wird erst der Binärcode erstellt, das macht die .Net Runtime.
1.Gibt es eine entsprechende Runtime unter Linux würde es dort auch laufen.
2.Wenn der Kompiler Binärcode erzeugen würde, würde das Programm auch ohne Runtime laufen, aber nur auf der Plattform auf der es kompiliert wurde
(in diesem fall wohl Windows).
hoffe das alles stimmt was ich da schreib
by Tass
-
17.05.04 19:23 #3
- Registriert seit
- Aug 2001
- Ort
- Österreich, Stmk, Graz
- Beiträge
- 2.783
Hallo.
C# ist als eine Sprache gedacht, welche in der .net Umgebung abläuft, und die Vorteile davon nutzt. (In Bezug auf Security etc. ..)
Deswegen wirst wohl nicht ohne .net Framework auskommen.
MfG,
AlexWith the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
Aaron Satie
Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
Captain Jean-Luc Picard, Stardate ~41294.5
Tutorials.de chattet. Hier gibts auch .net Support ^^
Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de
(moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions
-
Stimmt. Es wird MSIL (Microsoft intermediate language) Code erzeugt, der erst kurz vorm Ausführen in Maschienencode umgewandelt wird.
Es gibt eine Möglichkeit ein Maschienencode-Abbild deines Programmes anzufertigen. Musst mal in der SDK-Dokumentation suchen.
Du darfst dann aber nicht vergessen die Laufzeit DLLs mitzuliefern (System.dll, System.Xml.dll usw...).
Allerding wird es nicht ohne Framework funktionieren, da der Arbeitsspeicher von selbem verwaltet wird (Heap). Glaube ich jedenfalls zu wissen.
Die 20 Mb grosse dotnetredist.exe zuvor installieren zu lassen ist doch auch kein so grosses Problem...
Bei Java funktioniert das ja auch.Zu jedem Problem gibt es mindestens eine Lösung.
Zu jeder Lösung gibt es mindestens eine bessere Lösung
-
Soweit ich weiß, haben sich ein par Leute drangesetzt, eine art .net Framework für Linux zu coden und, es gibt auch schon eine erste Version.
Musst am besten mal bei Google suchen.
-
Hi,
für C# unter Linux hilft der Link hier vielleicht.
http://www.go-mono.com
by tass
-
DANKE an alle!
-
18.05.04 22:27 #8
.NET Programme ohne Framework GEHT NICHT !
Egal was du machst, du wirst für .NET Programme immer mindestens das Restri Paket brauchen (ca. 21 MB).
Kurzer Hintergrund zu .NET!
Die Runtime, CommonLanguageRuntime (CLR) führt eigentlich keinen C# oder VB.NET Code aus. Wenn man mit den entsprechenden Compilern kompiliert, dann wird MSIL (MicrosoftIntermediatLanguage) Code erzeugt. Dieser Code wird zur Laufzeit in Native Code kompiliert und dann erst vom Prozessor ausgeführt. Deswegen auch der etwas verzögerte Startvorgang!
Im Prinzip ist C# oder VB.NET nur die Kelle eines Maurers, du könntest auch IL Code selber schreiben.
Warum gibt es IL? Nun, das ist relativ einfach zu beantworten sieht man sich die Architektur des Frameworks mal genauer an. Die FCL (FrameworkClassLibrary) besteht aus ca. 5000 Klassen. Mircosoft hat natürlich nicht das Rad neu erfunden und ein System geschaffen, das zu 60% API Funktionen kapselt und auführt. Der Grund hierfür ist, das alle Programmiersprachen, die einen .NET Compiler bietet auf die gleiche Art und Weise diese Klassen verwenden können. Entstanden ist ein einheitliches Objekt und Programmiermodell welches für jeden Sprache und auf jeder Plattform gleich funktioniert.
Das funktioniert deshalb, da in der CLS (CommonLanguageSpecification) und dem CTS (CommonTypeSystem) alle Grundlagen verankert sind an die sich ein Compiler halten muss, um typesicheren IL Code zu erzeugen.
Das ist der grob erklärte Hintergrund warum also die Runtime immer benötigt wird. Es gibt zwar ein Tool welches sich ngen.exe nennt mit dem man den IL Code vorkompilieren kann, aber trotzdem wird dieser Code später von der CLR übermacht und ausgeführt (deshalb spricht man von .NET Code auch Managed Code). Der Vorteil dieses Tools besteht lediglich darin, die Startzeit zu normalisieren.
Das war mal gaaaanz grob eine Einführung in .NET
GrüßeRené Paschold
.NET Trainer / Consultant / Developer
WebLog http://www.rene-paschold.de/
"The World Is Not Enough!"
-
Das interessiert mich jetzt. Dieses ngen.exe kann die Laufzeit eines Programms verbessern? Ist doch eigentlich super!
-
NGEN verbessert nicht die Laufzeit des Programms sondern, wie von René geschrieben, das Laden bzw. Starten.
Beim Aufruf einer .NET-Assembly wird diese durch ngen in Maschinen-Code kompiliert, so dass sie vom Prozessor ausgeführt werden kann.
Durch das händische Ausführen von ngen wird nur das Laden der Assemblies beschleunigt, da dies von der Runtime nicht mehr gemacht werden muss.
Dies kann jedoch erst nach der Distribution durchgeführt werden, da das Resultat von System zu System verschieden ist (bzw. Prozessor).
Selbiges gilt übrigens auch für xgen, welcher die Serialisierungs-Assemblies erstellt.
Dies kann auch von Hand gemacht werden, so dass die SerialsierungsAssemblies nicht zur Laufzeit erzeut werden müssen. Dies macht jedoch nur Sinn, wenn in der entsprechenden Assembly auch Serialisierung genutzt wird
Grüße Nico
----------------------
Xing
----------------------
Zitat von Mark Twain (1835-1910)
Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
Ähnliche Themen
-
durch main methode als jar lauffähig machen
Von Tobi55 im Forum Java GrundlagenAntworten: 2Letzter Beitrag: 25.08.08, 19:09 -
Visual Basic 2005 Projekt mit Framework 1.1 lauffähig machen
Von romin im Forum .NET Application und Service DesignAntworten: 0Letzter Beitrag: 28.08.07, 13:50 -
Design im IE lauffähig machen
Von chris91 im Forum CSSAntworten: 6Letzter Beitrag: 08.08.07, 23:38 -
*.exe Anwendung entwickeln & auf PC ausführen ohne .NET Framework
Von MrBluna im Forum .NET Application und Service DesignAntworten: 11Letzter Beitrag: 19.10.05, 10:09 -
Apache 2 installieren und PHP4.3.6 lauffähig machen
Von imagine im Forum PHPAntworten: 4Letzter Beitrag: 15.05.04, 19:09





Zitieren


Login





