warum Linux 64-Bit-Systemaufrufe Tabelle ist anders
Ich habe gerade im Netz auf Linux-Systemnummern nachgeschaut und habe unterschiedliche Nummern gefunden, ob es sich um eine 32-Bit- oder 64-Bit-Linux-Version handelt.
Warum hat Linux die Reihenfolge der Systemaufrufe geändert? Wäre es nicht schwieriger, die Kompatibilität zwischen 32-Bit- und 64-Bit-Linux-Programmen zu erreichen?
Mehr Informationen :
Hier sind die Websites, auf denen das System Nummern gefunden hat: 32-Bit-Linux, 64-Bit-Linux .
Ich habe auch die Systemrufnummern in Linux-System gefunden, in diesen zwei Dateien:
/usr/include/asm/unistd_32.h
und/usr/include/asm/unistd_64.h
.
Edit : Ich schrieb ein 32-Bit-Assembly-Hallo-Welt-Programm:
Ich habe es mit dem Befehl nasm -f elf32 prog.asm && ld -m elf_i386 prog.o
kompiliert, es wird normal kompiliert und ausgeführt. Dann kompilierte ich dasselbe Programm mit dem Befehl, nasm -f elf64 prog.asm && ld -m elf_x86_64 prog.o
dass es abstürzt, aber es tat dasselbe wie das erste Programm, es schrieb "Hello World!" auf die Standardausgabe.
Wie ist es möglich, dass das 64-Bit-Programm dieselben Systemaufrufe wie das 32-Bit-Programm verwendet hat (obwohl die Tabelle des Systems für die beiden Architekturen unterschiedlich ist).
0 Antworten auf die Frage
Verwandte Probleme
-
9
Was ist der Unterschied zwischen den Befehlen "su -s" und "sudo -s"?
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
4
Was sind die Unterschiede zwischen den großen Linux-Distributionen? Werde ich es merken
-
2
Begrenzung der CPU-Auslastung für Flash in Firefox?
-
2
Wie kann ich mein Mikrofon unter Debian GNOME zum Laufen bringen?
-
2
Conky-Setups - Beispiele / Ideen?
-
3
Was sind die Unterschiede zwischen Linux Window Managern?
-
2
ThunderBird / Lichtsynchronisation mit SE k770i
-
4
Linux-Dateisystem
-
6
Vollbild-Flash langsam in KDE 4