|
добавление на этапе компиляции префиксов к символам |
|
|
|
Jan 21 2012, 11:46
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Мне нужно сделать такую вот хитрую вещь - чтобы при сборке статической библиотеки ко всем символам, (достаточно только экспортированным) автоматически добавлялся какой либо заданный мной префикс. Суть вопроса в следующем: имеется десяток разных динамических библиотек, у всех них одинаковые экспортированные функции, их надо собрать статически в один модуль с основной программой. Сейчас я делаю тупо и нагло - собираю статическую библиотеку, получаю список экспортированных символов, после чего скриптом делаю файл "renames.h" вида "#define sym1 prefix_sym1 #define sym2 prefix_sym2" и так далее для всех символов, после чего этот инклудник включаю во все файлы библиотеки, пересобираю, и вуаля. А хочется сделать это красиво как-то. В связи с этим вопрос - есть ли опции в GCC и в MSVC для автоматического добавления юзерских префиксов ко всем символам компилируемого исходника? Или, может быть, это вообще как-то по-другому люди делают?
|
|
|
|
|
 |
Ответов
|
Jan 22 2012, 18:58
|
практикующий тех. волшебник
    
Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417

|
Цитата(SM @ Jan 21 2012, 15:46)  ...десяток разных динамических библиотек,...их надо собрать статически в один модуль...Сейчас я делаю.. - собираю статическую библиотеку... вы для начала определитесь - чего вы собираете. динамические или статические либы. и второе. динамические библиотеки можно грузить явно - тогда проблем вообще нет. (круглый)
|
|
|
|
|
Jan 23 2012, 02:26
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(kolobok0 @ Jan 22 2012, 22:58)  вы для начала определитесь - чего вы собираете. динамические или статические либы. IMHO я более чем ясно и однозначно поставил задачу. Внимательнее вопрос прочитайте, там все объяснено, что есть, и как это надо собрать. Если уж совсем в танке - то повторю "на пальцах" - есть у меня допустим три проекта, которые собираются в три динамические либы, в каждой из них есть символы sym1, sym2, sym3. Мне надо собрать из этих же исходников три статические либы, у которых эти символы будут уже называться lib1_sym1, lib2_sym1, lib3_sym1, lib1_sym2, lib2_sym2, и т.д. - при этом исходники не править (с правкой я и сам знаю как, даже описал весь этот процесс).
|
|
|
|
|
Jan 23 2012, 19:46
|
практикующий тех. волшебник
    
Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417

|
Цитата(SM @ Jan 23 2012, 06:26)  ...в каждой из них есть символы sym1, sym2, sym3. Мне надо собрать из этих же исходников три статические либы, у которых эти символы будут уже называться lib1_sym1, lib2_sym1, lib3_sym1, lib1_sym2, lib2_sym2, и т.д.. 1) уже прозвучало - нэймспэйсы. это если тупо инкапсулировать и не париться. 2) задефайнить префиксы и в условиях сборки задавать нужные закорючки. (круглый) ЗЫ ИМХО - всех кто в консерватории поставить перед танком и катками, дабы не выросли. Или по другому - надумано сие всё...
|
|
|
|
Сообщений в этой теме
SM добавление на этапе компиляции префиксов к символам Jan 21 2012, 11:46 Xenia Цитата(SM @ Jan 21 2012, 15:46) В связи с... Jan 21 2012, 11:58 SM С++ не годится, все на чистом C, цель то именно бе... Jan 21 2012, 12:11 SM Кажется некие намеки на нужную мне тему в GNU нашл... Jan 21 2012, 13:13  dxp QUOTE (SM @ Jan 23 2012, 09:26) есть у ме... Jan 23 2012, 07:49 SM 1) низзя. С++ нету там нигде ни грамма.
2) примерн... Jan 23 2012, 20:22 ReAl Цитата(SM @ Jan 23 2012, 22:22) вот был б... Jan 23 2012, 21:26 SM О, спасибо. Бум переводить виндоверсию с мсвц на г... Jan 24 2012, 07:45
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|