Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаление имен файлов из статической библиотеки 
:(
    Опции темы
opiate
Дата 12.10.2012, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 29.1.2011

Репутация: нет
Всего: нет



Добрый день!
Использую компиллятор VS2008, тип проекта - статическая библиотека. Опции пока стандартные для Release конфигурации.
Debug information format - Disabled;
После создания библиотеки просматриваю её HEX редактором и вижу, помимо имен экспортируемых функций, так же полные пути к исходным кодам, obj-файлам, h-никам, опциям компилятора. Как мне сделать чтобы остались только имена функций?
PM MAIL   Вверх
bsa
Дата 12.10.2012, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



статическая библиотека - это архив в формате ar. Этот архив содержит все объектные файлы, что соответствующие исходникам. Почему в объектных файлах содержится информация о путях в этим исходникам я, к сожалению, уже подсказать не могу.
PM   Вверх
opiate
Дата 12.10.2012, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 29.1.2011

Репутация: нет
Всего: нет



Хм... действительно, в начале lib-файла заголовок !<arch> и открывается 7zip-ом, я такого не ожидал.
Но вопрос все равно открыт.
Похоже, что в obj-файлы записываются полные команды компилляции с некоторыми опциями проекта и полными путями, включая папки, в которых надо искать h-ники. Есть даже полный путь до самого cl.exe
Вот, например (скопировано из hex-редактора):
Код

C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\cl.exe.cmd.-Od -ID:\Projects\MyProject\ -ID:\Projects\MyProject\Test\ -DWIN32 -D_DEBUG -D_LIB -D_UNICODE -DUNICODE -FD -EHs -EHc -RTC1 -MTd -FoR:\MyProject\Debug\ -FdR:\MyProject\Debug\vc90.pdb -W3 -c -Z7 -TC -nologo -errorreport:prompt -I"D:\Microsoft SDKs\Windows\v7.1\Include"

PM MAIL   Вверх
feodorv
Дата 12.10.2012, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 11
Всего: 45



Цитата(opiate @  12.10.2012,  10:27 Найти цитируемый пост)
Опции пока стандартные для Release конфигурации.


Цитата(opiate @  12.10.2012,  16:29 Найти цитируемый пост)
-D_DEBUG -FoR:\MyProject\Debug\ -FdR:\MyProject\Debug\vc90.pdb -W3 -c -Z7


/Z7, /Zi, /ZI (Debug Information Format)

Это сообщение отредактировал(а) feodorv - 12.10.2012, 16:24


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
boostcoder
Дата 12.10.2012, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



opiate, а как это может мешать?
или ты решил выдать чужой код за свой?

PM WWW   Вверх
opiate
Дата 12.10.2012, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 29.1.2011

Репутация: нет
Всего: нет



feodorv, видимо, я не из той либы выдернул эту строчку. 
В общем для точности создал проект с одним файлом и одной функцией и с компилировал в Release (только заменил опцию /Zi на Disabled).
В результате из этой либы видно какой версии и куда у меня установлена Visual Studio, какой разрядности система, в какой папке лежит мой проект, имя исходника, опции компилятора, и т.д. и т.п.

Добавлено через 5 минут и 22 секунды
Цитата(boostcoder @ 12.10.2012,  18:03)
opiate, а как это может мешать?
или ты решил выдать чужой код за свой?

Не поверишь, но иногда приходится делать наоборот.

Это сообщение отредактировал(а) opiate - 12.10.2012, 18:09

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  StaticLibTest.zip 3,14 Kb
PM MAIL   Вверх
boostcoder
Дата 12.10.2012, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110




Цитата(opiate @  12.10.2012,  18:08 Найти цитируемый пост)
иногда приходится делать наоборот

то что ты делаешь, как раз позволит кому угодно выдать твою либу за свою. так что да, не верю.
PM WWW   Вверх
opiate
Дата 12.10.2012, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 29.1.2011

Репутация: нет
Всего: нет



boostcoder, почему на каждом форуме всегда найдется тип, вроде тебя, с 5330 сообщений, и вместо того, чтобы помочь по делу, задает какие-то бесполезные вопросы? Рекламируешь то что у тебя в подписи или просто любишь поговорить ни о чем?
PM MAIL   Вверх
boostcoder
Дата 12.10.2012, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(opiate @  12.10.2012,  21:22 Найти цитируемый пост)
вместо того, чтобы помочь по делу

я не считаю нужным помогать в данном "деле", ибо обоснования фактически нет. а то какое есть - сомнительно.

PM WWW   Вверх
opiate
Дата 13.10.2012, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 29.1.2011

Репутация: нет
Всего: нет



Цитата(boostcoder @  12.10.2012,  23:33 Найти цитируемый пост)
я не считаю нужным помогать

в таком случае, просто не отвечай, если ты, конечно, не занят накруткой сообщений.
Если бы я выдавал чужую библиотеку за свою, в моих интересах было бы, как раз, наличие ссылок на мое рабочее окружение.
PM MAIL   Вверх
boostcoder
Дата 13.10.2012, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(opiate @  13.10.2012,  14:00 Найти цитируемый пост)
в моих интересах было бы, как раз, наличие ссылок на мое рабочее окружение.

я об этом и говорил раньше

я так и не понял, для чего это нужно. хотя, была любопытна аргументация.

PM WWW   Вверх
opiate
Дата 13.10.2012, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 29.1.2011

Репутация: нет
Всего: нет



Цитата(boostcoder @  13.10.2012,  14:04 Найти цитируемый пост)
я так и не понял, для чего это нужно

я ответил для чего это нужно. сомневаешься - создай свою тему и флуди дальше там.

Свою задачу я уже давно решил, но довольно прямолинейно. 
Хотелось бы просто выяснить, нельзя ли это сделать более эстетическим способом, например установкой ключа компиллятора или линкера. Уточню, что нужно, чтобы в obj-файлы не включалась информация о каких либо файлах и директориях из которых происходит сборка статической библиотеки.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0728 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.