Как код динамической библиотеки узнает, в каком процессе она вызывается?

В GNU findэталонное время, которое используется для оценки файлов с -mminи т. д., вычисляется и сохраняется при разборе выражения , поэтому действует при запуске find.

Это означает, что все такие сравнения времени используют одну и ту же ссылку времени для всех оцененных файлов, время, когда findанализировал свою командную строку.

0
26.05.2021, 00:32
1 ответ

Как правило, указатели на стек (, где адрес возврата берется из ), куча (, хранилище данных )и некоторые значения переменных или адреса передаются в регистрах ЦП. Все эти адреса находятся в виртуальной памяти вызывающего абонента. Код динамической библиотеки выполняется в контексте вызывающего объекта, поэтому все системные вызовы ведут себя так, как если бы их выполнял вызывающий.

Я вызываю общие библиотеки с указателями на мои вещи в моем виртуальном пространстве, а вы называете общие библиотеки с указателями своими вещами в своем виртуальном пространстве.

1
28.07.2021, 11:29

Теги

Похожие вопросы