pietMunzel
Cadet 4th Year
- Registriert
- März 2012
- Beiträge
- 79
Hallo CB,
ich wollte mich an die WinApi machen, habe aber beschlossen, zuerst sauber zu verstehen, was eigentlich im Hintergrund von Windows geschieht, bevor ich eine Anwendung programmiere.
Meine Frage ist, ob das folgende richtig ist:
Wenn ich mit der IDE Visual C++ programmiere, dann enthält diese IDE sowohl den Compiler als auch den Linker. Die IDE selbst ist eine WinApi-Anwendung, also auch der Compiler und der Linker.
Wenn ich nun in der IDE execute, so wird der Code von der IDE IM USERMODE übersetzt und gelinkt, und die IDE meldet für mein Programm einen Prozess an (User-Mode geht mindestens hier kurzzeitig über in Kernal-Mode). Der Code, der im User-Mode erzeugt wurde, wird in den zugewiesenen Prozess-Speicher geladen, der Einstiegspunkt übergeben und ausgeführt.
Würde ich nicht in einer IDE executen sondern eine .exe laden, so wurde ein Loader IM USERMODUS die Datei analysieren (hier braucht er aber nicht zu kompilieren, nur zu linken), wiederum über einen System Call einen Prozess anmelden und ab hier wie oben mit der IDE.
Vor allem ob Compiler und Linker selbst Win-Api Anwendungen sind und Compiler und Linker im User-Mode ihre Arbeiten verrichten, will ich wissen.
Gruß
pietMunzel
Edit: Habe soeben gesehen, dass in der Überschrift ein ekelhafter Grammatikfehler ist. Ich bitte um Entschuldigung.
ich wollte mich an die WinApi machen, habe aber beschlossen, zuerst sauber zu verstehen, was eigentlich im Hintergrund von Windows geschieht, bevor ich eine Anwendung programmiere.
Meine Frage ist, ob das folgende richtig ist:
Wenn ich mit der IDE Visual C++ programmiere, dann enthält diese IDE sowohl den Compiler als auch den Linker. Die IDE selbst ist eine WinApi-Anwendung, also auch der Compiler und der Linker.
Wenn ich nun in der IDE execute, so wird der Code von der IDE IM USERMODE übersetzt und gelinkt, und die IDE meldet für mein Programm einen Prozess an (User-Mode geht mindestens hier kurzzeitig über in Kernal-Mode). Der Code, der im User-Mode erzeugt wurde, wird in den zugewiesenen Prozess-Speicher geladen, der Einstiegspunkt übergeben und ausgeführt.
Würde ich nicht in einer IDE executen sondern eine .exe laden, so wurde ein Loader IM USERMODUS die Datei analysieren (hier braucht er aber nicht zu kompilieren, nur zu linken), wiederum über einen System Call einen Prozess anmelden und ab hier wie oben mit der IDE.
Vor allem ob Compiler und Linker selbst Win-Api Anwendungen sind und Compiler und Linker im User-Mode ihre Arbeiten verrichten, will ich wissen.
Gruß
pietMunzel
Edit: Habe soeben gesehen, dass in der Überschrift ein ekelhafter Grammatikfehler ist. Ich bitte um Entschuldigung.
Zuletzt bearbeitet: