ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
5 июля
143420 Топик полностью
Сергей Борщ (27.12.2008 02:04, просмотров: 164) ответил cvv на RE:
Ха! Еж с удавом не скрещиваются сами по себе. Неудивительно. Процедура вызова конструкторов находится в стандартной библиотеке. Вызывается она из crt.o Линкер лишь складывает адреса точек вызова конструкторов в отдельную секцию (.ctors). Точно так же, как он складывает в секции код, точно так же, как складывает в отдельную секцию инициализированные переменные. И точно так же как конструкторы вызываются функцией статнартной библиотеки начальные значения инициализированных переменных копируются из флеша в ОЗУ функцией стандартной библиотеки. Так что объектники после g++ точно так же линкуются "любым" гнутым линкером. Линкер что для g++, что для gnat один и тот же - ld. Просто эти два разных языка, по-видимому, используют различные механизмы запуска (startup) приложения.