Я новичок в том, как используются функции заглушки C ++.
Я прошел по ссылке Как создать заглушки для разделяемых библиотек в Linux но
1) Я не смог получить точный полный пример кода на C ++, в котором заглушки написаны на C ++. Если кто-то может указать мне на пример точного примера?
2) Также я смотрел, как именно заглушки заменяются функциями библиотеки с одинаковыми именами в Linux?
Будет полезно, если кто-то может помочь мне в моих двух вопросах.
Ответ на ваш вопрос приходит с пониманием черного искусства динамического связывания. Читать Ульриха Дреппера Как писать общие библиотеки для тщательного лечения предмета.
Чтобы ответить на ваши вопросы напрямую:
1) Заглушки не написаны на C ++. Заглушки создаются компоновщиком автоматически всякий раз, когда вы связываете программу с общей библиотекой. Они не связаны с каким-либо конкретным языком; компоновщик создает их как двоичные / ассемблеры непосредственно из каждого символа, основываясь исключительно на имени символа.
2) Динамический компоновщик заменяет / переписывает заглушки для вызова фактического кода динамической библиотеки, найденного во время выполнения.