Konsolenbaby
L14: Freak
- Seit
- 9 Dez 2010
- Beiträge
- 6.602
Nochmal: Hier sollten klassische eingebette Systeme nicht mit einem Windows-Rechner verglichen werden. IDEs für eingebettete Systeme haben zig Header für die unterschiedlichsten Arten von Hardware, um mit der Hardware zu kommunizieren. Der Preprozessor definiert hier schon sehr viel. Falscher Header zur falschen Hardware funktioniert nicht - die Software kann schlichtweg nicht mit der Hardware kommunizieren. Deswegen läuft Nullpointers toller C-Code nicht einfach von System zu System. Das hat aber mit einem Windows-PC nichts zu tun.
Windows muss mit den unterschiedlichen CPUs klarkommen.
Ich kann mich da nur wiederholen
Du vertust dich da enorm.
Und bisher bist nicht auf einen von mir ausgeführten Punkt direkt eingegangen.
Jetzt führst du Headerdateien und den Präprozessor ein, die damit auch wieder nichts an der eigentlichen Thematik ändern.
Headerdatein dienen dazu, den Programmcode ja nach Hardware zu compilieren.
Ich schreibe also ein Programm, was auf verschiedenen Atmel Prozessoren lauffähig sein soll.
Und die haben tatsächlich unterschiedliche Register und auch Befehlslängen.
Die Headerdatei sorgt nun dafür, dass genau für den Atmel Prozessor meine Code compiliert wird.
Die Aufgabe, diese Headerdateien richtig zu bearbeiten, übernimmt der Präprozessor
Für die, die noch mitlesen. Der Präprozessor ist keine Hardware sondern ein Programm, welches vor dem eigentlichen Compiler ausgeführt wird.
Es exixstieren also hinterher verschiedene compilierte Programme für die verschiedenen Atmel Prozessoren.
Bei einem Spiel für einen X86 PC existiert aber nur ein compiliertes Programm.
In diesem befinden sich dann bereits ein paar unterschiedliche Routinen für AMD und Intel Prozessoren oder auch für neue Prozessoren der gleichen Firmen, die neue Funktionen mit sich bringen.
Aber das ist was völlig anderes als das, was du ansprichts.
Ein Spiel, was jetzt für die derzeitigen CPU programmiert wird, wird auch auf den Nachfolge-CPUs von Intel und AMD ohne Patch oder sonstwas laufen.
Aber damit hat das OS auch wieder nicht zu tun.
Wie gesagt, beantworte mir doch die Einfache Frage.
Was passiert, wenn ich eine neue CPU, die viel moderner ist aber noch in den alten Sockel passt, in mein Motherboard stecke?
Läuft dann das OS nicht mehr? Denn nach deiner Logik ändert sich ja die Ansprechweise dieser neuen CPU.
Da das OS aber ebenfalls nur ein compiliertes Programm ist, was in Maschinencode im Speicher liegt, dürfte es ja folglich nicht funktionieren.
Und nicht verwechseln. Ich rede nur von einer neuen CPU, nicht vom Austausch des Motherboards.