Здравствуйте, Сергей Губанов, Вы писали:
СГ>А еще тормоза компиляции происходят из-за того что в Си/Си++ можно влюбом месте программы написать:
СГ>СГ>{
СГ> extern void XerZnaetKakayaFunkciyaFigZnaetGdeOnaOpredelena();
СГ> XerZnaetKakayaFunkciyaFigZnaetGdeOnaOpredelena();
СГ>}
СГ>
СГ>(Кстати, по смыслу это очень близко к инструкции goto) Компилятор замучается бегать по всем файлам проекта и искать где же определена эта функция (причем ему еще надо убедиться в том что эта функция определена не более одного раза).
Сергей, это вы что-то преувеличили... Компилятору в данном случае нет необходимости искать определение этой функции, ему вообще ничего не надо искать. Функция объявлена, сигнатура известна, компилятор просто вставит в объектный модуль ссылку на эту сигнатуру, а искать её будет уже компоновщик (линкер). И, кстати, поскольку компоновщику нет нужды делать синтаксический анализ, поскольку компоновщик получает уже готовые сигнатуры "на блюдечке", то связывание функций не будет трудоёмким.
Так что, извините, никак не могу согласиться с вами в этом вопросе.
... << RSDN@Home 1.1.4 beta 3 rev. 194>>