реклама на сайте
подробности

 
 
> добавление на этапе компиляции префиксов к символам
SM
сообщение Jan 21 2012, 11:46
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Мне нужно сделать такую вот хитрую вещь - чтобы при сборке статической библиотеки ко всем символам, (достаточно только экспортированным) автоматически добавлялся какой либо заданный мной префикс. Суть вопроса в следующем: имеется десяток разных динамических библиотек, у всех них одинаковые экспортированные функции, их надо собрать статически в один модуль с основной программой. Сейчас я делаю тупо и нагло - собираю статическую библиотеку, получаю список экспортированных символов, после чего скриптом делаю файл "renames.h" вида "#define sym1 prefix_sym1 #define sym2 prefix_sym2" и так далее для всех символов, после чего этот инклудник включаю во все файлы библиотеки, пересобираю, и вуаля. А хочется сделать это красиво как-то. В связи с этим вопрос - есть ли опции в GCC и в MSVC для автоматического добавления юзерских префиксов ко всем символам компилируемого исходника? Или, может быть, это вообще как-то по-другому люди делают?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SM
сообщение Jan 21 2012, 12:11
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



С++ не годится, все на чистом C, цель то именно без переработки исходников библиотек все сделать, они периодически обновляются, и не мной.

А вот может есть такой вариант - в тех местах, где вызывается библиотека, какой нить там прагмой указать, что символ именно из конкретной либы?

UPD хотя фигню наверное говорю, все равно куча дуплицированных символов у линкера вылезет, сомневаюсь что можно сделать так, чтобы приоритет имел символ, взятый из той же либы, откуда к нему обращение, чтобы либы друг с другом не конфликтовали.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 01:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.01358 секунд с 7
ELECTRONIX ©2004-2016