![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
opiate |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 29.1.2011 Репутация: нет Всего: нет |
Добрый день!
Использую компиллятор VS2008, тип проекта - статическая библиотека. Опции пока стандартные для Release конфигурации. Debug information format - Disabled; После создания библиотеки просматриваю её HEX редактором и вижу, помимо имен экспортируемых функций, так же полные пути к исходным кодам, obj-файлам, h-никам, опциям компилятора. Как мне сделать чтобы остались только имена функций? |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
статическая библиотека - это архив в формате ar. Этот архив содержит все объектные файлы, что соответствующие исходникам. Почему в объектных файлах содержится информация о путях в этим исходникам я, к сожалению, уже подсказать не могу.
|
|||
|
||||
opiate |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 29.1.2011 Репутация: нет Всего: нет |
Хм... действительно, в начале lib-файла заголовок !<arch> и открывается 7zip-ом, я такого не ожидал.
Но вопрос все равно открыт. Похоже, что в obj-файлы записываются полные команды компилляции с некоторыми опциями проекта и полными путями, включая папки, в которых надо искать h-ники. Есть даже полный путь до самого cl.exe Вот, например (скопировано из hex-редактора):
|
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 11 Всего: 45 |
/Z7, /Zi, /ZI (Debug Information Format) Это сообщение отредактировал(а) feodorv - 12.10.2012, 16:24 -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
opiate, а как это может мешать?
или ты решил выдать чужой код за свой? |
|||
|
||||
opiate |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 29.1.2011 Репутация: нет Всего: нет |
feodorv, видимо, я не из той либы выдернул эту строчку.
В общем для точности создал проект с одним файлом и одной функцией и с компилировал в Release (только заменил опцию /Zi на Disabled). В результате из этой либы видно какой версии и куда у меня установлена Visual Studio, какой разрядности система, в какой папке лежит мой проект, имя исходника, опции компилятора, и т.д. и т.п. Добавлено через 5 минут и 22 секунды
Не поверишь, но иногда приходится делать наоборот. Это сообщение отредактировал(а) opiate - 12.10.2012, 18:09 Присоединённый файл ( Кол-во скачиваний: 2 ) ![]() |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
то что ты делаешь, как раз позволит кому угодно выдать твою либу за свою. так что да, не верю. |
|||
|
||||
opiate |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 29.1.2011 Репутация: нет Всего: нет |
boostcoder, почему на каждом форуме всегда найдется тип, вроде тебя, с 5330 сообщений, и вместо того, чтобы помочь по делу, задает какие-то бесполезные вопросы? Рекламируешь то что у тебя в подписи или просто любишь поговорить ни о чем?
|
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
я не считаю нужным помогать в данном "деле", ибо обоснования фактически нет. а то какое есть - сомнительно. |
|||
|
||||
opiate |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 29.1.2011 Репутация: нет Всего: нет |
||||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
||||
|
||||
opiate |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 29.1.2011 Репутация: нет Всего: нет |
я ответил для чего это нужно. сомневаешься - создай свою тему и флуди дальше там. Свою задачу я уже давно решил, но довольно прямолинейно. Хотелось бы просто выяснить, нельзя ли это сделать более эстетическим способом, например установкой ключа компиллятора или линкера. Уточню, что нужно, чтобы в obj-файлы не включалась информация о каких либо файлах и директориях из которых происходит сборка статической библиотеки. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |