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