Re[14]: Имя истинного врага - миссионеры.
От: Pzz Россия https://github.com/alexpevzner
Дата: 12.08.25 22:13
Оценка: +1
Здравствуйте, Marty, Вы писали:

Pzz>>gcc внутри, кстати, примерно так и написан. Но назвать его говнокодом у меня как-то язык не поворачивается. Все-таки, большая часть мировой кодовой базы вполне успешно через него проходит и выдаёт на выходе вполне работоспособный машинный код.


M>Да, я слышал, что GCC внутри — это кусок говна (по крайней мере, был). Но, говорят, его чуть ли не на плюсах уже давно переписали.


Я заглянул из любопытства. Да, лежат какие-то .cc файлы. Внутри — процедуры и функции, как на Си. Но местами используются классы. Но подробно не смотрел, впечатление очень поверхностное.

M>И, кстати, в давние времена (2.95, например), когда он точно был на сишечке, он мог и упасть, и сгенерить хрень. Имхо, MSVC, Borland, Watcom — были покачественнее (но об их внутреннем устройстве ничего не знаю)


Все они могли и упасть и сгенерить хрень. В целом, gcc был довольно надёжный. Он был в состоянии собрать делый дистр линуха, это дохрена разнообразного кода.

Я когда-то очень любил TurboC 2.0. Он был быстрый, как пулемет, ошибок в нём было штуки три, и все, кому надо, про них знали. Конечно, оптимизирующим компилятором его было трудно назвать. У меня с него осталась привычка не звать memcpy от 0 байт, потому что евонная библиотека в таком случае глючила, и хрен его знает, какие еще стандартные библиотеки от каких платформ в таком случае сглючат.

У ваткома, кстати, была забавная особенность. Под досом, если памяти не хватало, он мог снизить уровень оптимизации, чтобы хоть как-то, да скомпилировать.

ИМХО, это скорее недостаток, когда результат кодогенерации зависит от того, на какой машине идёт сборка.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.