C/C++ Замена библиотечной функции, вызываемой в библиотекеC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 C/C++ Замена библиотечной функции, вызываемой в библиотеке

Сообщение Anonymous »


Контекст:
[*]С/С++ [*]исполняемый файл, работающий на Linux-64 с 32-битной компиляцией [*]он связан с библиотекой без исходного кода и с ошибками, связанной с libc.
Чтобы избежать ошибки, я бы обошел функцию localtime из libc и использовал функцию mine. Исходное локальное время работает хорошо, но оно вызывается один раз и используется плохо. Неправильная функция местного времени может помочь найти способ обойти ошибку.

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

Я написал новую функцию localtime в основном исходном коде (и в независимой библиотеке, загруженной сначала с помощью LD_PRELOAD), но при успешной компиляции она не заменяет функцию libc, вызванную статической библиотекой.

Выгружая библиотеку с ошибками с помощью xxd, я вижу, что localtime находится в списке общих функций libc после явной строки «libc.so.6».
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»