Используют ли разделяемые библиотеки ту же кучу, что и приложение?

Скажем, у меня есть приложение в Linux, которое использует общие библиотеки ( .so файлы ). Мой вопрос в том, будет ли код в этих библиотеках выделять память в той же куче, что и основное приложение, или они используют свою собственную кучу?

Так, например, какая-то функция в файле .so вызывает malloc , будет ли она использовать тот же диспетчер кучи, что и приложение, или другой? Кроме того, как насчет глобальных данных в этих общих воспоминаниях. Где оно лежит? Я знаю, что для приложения он находится в сегменте bss и данных, но не знаю, где он находится для этих общих объектных файлов.

21
задан Jonathan Leffler 15 January 2012 в 02:24
поделиться