[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Lib-Frage



On 18.Aug 2003 - 08:21:51, Rene Drießel wrote:
> Am So, 2003-08-17 um 13.29 schrieb Andreas Pakulat:
> Hallo,
> 
> zunächst einmal danke für die ganzen Berichtigungen. Das mit C++ war mir
> noch klar, das es allerdings auch bei C Probleme gibt wusste ich nicht.
> 
> > > Durch das ELF Format ist die
> > > Struktur einer ausführbaren Datei ziemlich strikt vorgeschrieben. Diese
> > > Vorgaben kommen vom Kernel. Deswegen kann man auch keine Microsoft
> > > Windows EXE-Dateien unter Linux ausführen. Erst mit Hilfe von Wine wird
> > > dieses Format verstanden. Hier würde mich allerdings mal interessieren
> > > wie die Registrierung beim Linux Kernel erfolgt (ein apt-get mono reicht
> > > zum Beispiel aus das .NET Dateien ausgeführt werden können  - das kann
> > > ja nicht über ein Kernelmodul gemacht werden).
> > 
> > Nun die machen gar nix mit dem Kernel. Es gibt im Kernel die Möglichkeit
> > Unterstützung in der Art einzubauen, dass entsprechende Programme
> > ausgeführt werden indem automatisch der passende Emulator geladen wird.
> > Für den DosEMU hab ich das schonmal gesehen. Aber man braucht das
> > natürlich nicht um Dos-Programme im DosEMU ausführen zu können. Ebenso
> > ist es mit wine, wine setzt einfach nur die Windows-Systemrufe in
> > Linux-Systemrufe um, macht also nicht viel mehr als Parsen der Eingabe
> > und erzeugen einer passenden (Linux)Ausgabe. .NET läuft wie Java völlig
> > unabhängig vom darunterliegenden BS. Es gibt den Interpreter, der
> > BS-abhängig ist, aber die eigentlichen Programme sind dann in einer
> > Zwischensprache die vom Interpreter umgesetzt wird in jeweilige
> > Systemrufe. Deswegen installierst du mondo und der führt dann die .Net
> > Programme aus.

Mir ist grad aufgefallen, das deine erste Mail in UTF-8 kam, das ist
IMHO unnötig wenn du keine Unicode-Zeichen benutzt, da reicht latin1
vollkommen aus.

> Mir ist dabei allerdings eines nicht ganz klar. Ich hatte das nämlich
> mit einem kleinen Programm mal ausprobiert (Dieses war unter Windows
> übersetzt worden). Wenn ich "mono Programm.exe"
> eingebe dann funktioniert es ganz normal als wenn ich auch "java
> Programm.class" eingebe. Ich hatte jetzt allerdings einfach mal bei dem
> Programm Ausführrechte gesetzt und es mit ./Programm.exe versucht zu
> starten. Und siehe da - es hat funktioniert. Da bin ich beinahe vom
> Stuhl gefallen (Bei wine ist es übrigens das selbe - auf die exe Datei
> geklickt und es geht).

Dann guck dir bitte mal die config Datei deines Kernels an, diese liegt
unter /boot und dort gibts eine Option für MISC Binaries, wenn diese an
ist können beliebige Binaries - egal welches Format - gestartet werden,
solange nur der Kernel weiss welchen Emulator er benutzen muss.

> Es wurde dem Programm ja nicht gesagt mit welchem Interpreter es
> abgearbeitet werden soll. Jetzt stellte sich für mich die Frage wo diese
> Zuordnung steht. Ich muss natürlich sagen ich hatte damals nicht
> intensiv danach gesucht, aber diese Diskussion hat die Frage wieder
> aufgeworfen. 

Dem Programm wurde das nicht gesagt, aber dem Kernel. Ich weiss aber
auch nicht wo oder wie, nur das das so funktioniert.

Andreas

-- 
F: Was hat vier Beine und einen Arm?
A: Ein glücklicher Pitbull-Terrier



Reply to: