Я думаю, что название говорит обо всем :)
Есть ли какая-то конкретная практическая причина (я полагаю, это в основном исторически, но я не могу найти ее самостоятельно), почему GCC использует синтаксис AT & T / GAS?
Примечание: я знаю, что это просто по умолчанию, и вы можете переключить его
Примечание 2: лично я нахожу «синтаксис Intel» гораздо более читабельным, поэтому меня это удивляет.
why gcc uses at&t
), я бы не стал задавать этот вопрос.Ответы:
GCC использует синтаксис AT & T по умолчанию, потому что он изначально был написан в системе, которая использовала AT & T System V (теперь известную как UNIX) или имела синтаксис, очень похожий на System V.
Из Википедии на GCC
Обратите внимание на следующую часть:
Учитывая это
GCC was first released March 22, 1987
* иSystem V Release 3 was released in 1986
** , весьма вероятно, что GCC был написан либо на SVR2, либо на SVR3.Цитата из Википедии проясняет, что Столлман работал над оборудованием Lawrence Livermore Labs, которое было основано на Unix и, следовательно, System V. Поэтому мы могли бы остановиться на этом и просто сказать «это то, над чем он должен был работать». Но также интересно посмотреть на доступные системы MS-DOS / PC-DOS на тот момент. Согласно этой временной шкале вероятным кандидатом на ПК-DOS 1 была бы версия 3.2.
ПК (персональные компьютеры) не были так широко использованы в академических или исследовательских целях на тот момент, потому что их сетевые средства были не так хороши, как те, что могли бы обеспечить системы на основе Unix. Было также историческое предпочтение для сред типа сервер / терминал. Серверные / терминальные системы были доступны до появления ПК и, как правило, обеспечивали гораздо большую вычислительную мощность и другие ресурсы, чем те, которые ПК мог себе позволить.
Поэтому, хотя Столлман мог бы разработать GCC на ПК, он, вероятно, не захотел бы этого, поскольку его основная работа была бы в системах Unix.
И, как отмечалось в комментарии , между процессорами, работающими на Unix-системах и ПК , было принципиальное архитектурное различие .
Соберите все эти части вместе, и станет ясно, почему Столлман выбрал синтаксис AT & T вместо Intel при разработке GCC.
1 Обратите внимание, что проще всего сказать, что MS-DOS назывался PC-DOS до версии 3.31. Тем не менее, в истории разработки DOS есть многое, что выходит за рамки этого вопроса.
источник