Скройте символ (символы) в Общем объекте от LD

Возможный обходной путь - скопировать поставщиков «ЛОЖЬ» на другой лист и выполнить там «Удалить дубликаты» (Данные-> Инструменты данных-> Удалить дубликаты). Тогда вы бы скопировали результат обратно. Если вас беспокоит порядок продавцов, оцените их в первую очередь.

8
задан Dmitry Khalatov 2 December 2008 в 20:23
поделиться

2 ответа

Если Вы не должны связываться в обеих общих библиотеках во время компиляции (который не ясен из Вашего вопроса), можно использовать -Bdirect для общей библиотеки. Это запишет для всех символов из общей библиотеки, где они были найдены; если затем во времени выполнения второе определение символа появится (из другой общей библиотеки), то это будет проигнорировано.

10
ответ дан 5 December 2019 в 12:14
поделиться

Одно решение состоит в том, чтобы установить LD_PRELOAD переменная среды к библиотеке, символы которой должны иметь приоритет. (Если та библиотека совместно использовала собственные зависимости библиотеки, Вы, возможно, должны предварительно загрузить все ее зависимости; просто набор LD_PRELOAD к списку зависимых библиотек, разделенных пробелами.)

4
ответ дан 5 December 2019 в 12:14
поделиться
Другие вопросы по тегам:

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