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
Um das GNU-Betriebssystem zu booten, fragte Richard Stallman Andrew S. Tanenbaum, den Autor des Amsterdam Compiler Kit (auch als Free University Compiler Kit bekannt), ob er diese Software für GNU verwenden könne. Als Tanenbaum ihm sagte, dass die Freie Universität zwar frei sei, der Compiler jedoch nicht, beschloss Stallman, seine eigene zu schreiben. Stallmans ursprünglicher Plan war es, einen vorhandenen Compiler des Lawrence Livermore Laboratory von Pastel nach C mit Hilfe von Len Tower und anderen umzuschreiben. Stallman schrieb ein neues C-Frontend für den Livermore-Compiler, erkannte dann jedoch, dass es Megabyte Stack-Speicherplatz benötigte, was auf einem 68000 Unix-System mit nur 64 KB unmöglich war, und kam zu dem Schluss, dass er einen neuen Compiler von Grund auf neu schreiben musste. Keiner der Pastel-Compiler-Codes landete in GCC, obwohl Stallman das von ihm geschriebene C-Frontend verwendete.
Beachten Sie den folgenden Teil:
Stallman schrieb ein neues C-Frontend für den Livermore-Compiler, stellte dann jedoch fest, dass Megabyte Stack-Speicherplatz erforderlich waren, was auf einem 68000 Unix-System mit nur 64 KB unmöglich ist ...
Angesichts dessen GCC was first released March 22, 1987
* und System 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.