Как компоновщик узнает, какие символы должны быть разрешены во время выполнения?

Как компоновщик узнает, какие символы следует разрешить во время выполнения? В частности, мне интересно, какая информация несут общие объектные файлы, которые инструктируют компоновщик разрешать символы во время выполнения. Как работает разрешение динамических символов во время выполнения, т.е. какой исполняемый файл будет делать, чтобы найти символ, и если было определено несколько символов с одинаковым именем, которые будут найдены?

Что произойдет, если файл был связан только статически, но затем он был связан динамически во время выполнения как часть общей библиотеки? Какой символ будет использоваться исполняемым файлом? Другими словами, возможно ли переопределить символы в исполняемом файле путем связывания этих символов в общую библиотеку?

Речь идет о платформе SUN OS.

10
задан Leonid 5 October 2010 в 13:41
поделиться