Ich denke, der Titel sagt alles :)
Gibt es einen bestimmten praktischen Grund (ich denke, es ist größtenteils historisch, aber ich kann ihn nicht alleine finden), warum GCC die AT & T / GAS-Syntax verwendet?
Hinweis: Ich weiß, dass dies nur die Standardeinstellung ist und Sie sie wechseln können
Anmerkung 2: Ich persönlich finde "Intel-Syntax" viel besser lesbar, deshalb überrascht es mich.
why gcc uses at&t
), würde ich diese Frage nicht stellen.Antworten:
GCC verwendet standardmäßig die AT & T-Syntax, da sie ursprünglich auf einem System geschrieben wurde, das entweder AT & T System V (jetzt als UNIX bekannt) verwendete oder eine Syntax hatte, die System V sehr ähnlich war.
Aus Wikipedia auf GCC
Beachten Sie den folgenden Teil:
Angesichts dessen
GCC was first released March 22, 1987
* undSystem V Release 3 was released in 1986
** ist es sehr wahrscheinlich, dass GCC entweder auf SVR2 oder SVR3 geschrieben wurde.Das Wikipedia-Zitat macht deutlich, dass Stallman an den Geräten der Lawrence Livermore Labs arbeitete, die auf Unix und damit auf System V basierten. Wir konnten also dort anhalten und einfach sagen: "Daran musste er arbeiten." Es ist aber auch interessant, sich die zu diesem Zeitpunkt verfügbaren MS-DOS / PC-DOS- Systeme anzusehen . Nach diesem Zeitplan wäre der wahrscheinliche Kandidat für PC-DOS 1 Version 3.2 gewesen.
PCs (Personal Computer) waren zu diesem Zeitpunkt in akademischen oder Forschungsumgebungen nicht so weit verbreitet, da ihre Netzwerkeinrichtungen nicht so gut waren wie die von Unix-basierten Systemen. Es gab auch eine historische Präferenz für Umgebungen vom Typ Server / Terminal. Server- / Terminalsysteme waren vor der Existenz von PCs verfügbar und stellten im Allgemeinen eine viel größere Verarbeitungsleistung und andere Ressourcen bereit, als ein PC kostengünstig bereitstellen konnte.
Während Stallman GCC auf einem PC hätte entwickeln können, hätte er es wahrscheinlich nicht gewollt, da seine Hauptarbeit auf Unix-Systemen gewesen wäre.
Und wie in einem Kommentar erwähnt , gab es einen zugrunde liegenden architektonischen Unterschied zwischen den CPUs, die Unix-Systeme und PCs mit Strom versorgen.
Füge all diese Teile zusammen und es ist ziemlich klar, warum Stallman bei der Entwicklung von GCC die AT & T-Syntax gegenüber Intel gewählt hat.
1 Beachten Sie, dass MS-DOS vor Version 3.31 am einfachsten als PC-DOS bezeichnet wurde . Abgesehen davon gibt es in der Geschichte der DOS-Entwicklung viel, was außerhalb des Rahmens dieser Frage liegt.
quelle