Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Управление «положением» кода при компиляции (.dll / .lib)

63K
29 сентября 2011 года
SimSonic
16 / / 14.03.2011
[COLOR="#808080"]Visual Studio 2008[/COLOR], в решении есть набор проектов из .lib, .dll и .exe.
Рассмотрим проект одной из .dll библиотек.
Среди всего прочего в нём имеется определённый набор классов в .hpp и тела их методов в .cpp файлах. Во время компиляции создаётся сам .dll файл, а также файлы для подлинковки его к другим - .exp и .lib. Если первый я успешно грохаю после сборки, второй мне адекватно нужен.
Теперь вопрос. Имеется ли способ указать для набора классов, чтобы их скомпилированный код был размещён не в самой .dll, а в этом прилагаемом .lib?

1. На 99% уверен, что получаемый библиотекарем любой другой .lib от этого моего .lib - ничем не отличается.
2. Вариант решения [COLOR="purple"]создать еще один .lib-проект, в котором реализовать упомянутые классы с подключённой .dll[/COLOR] не годится - проектов много, такое деление кода слишком избыточно. Перенести код из этого проекта в другой .lib проект - не прокатывает по эстетическим соображениям - логически классы относятся к этому куску решения.

Подскажите, какие есть соображения по этому вопросу? Пытаюсь искать в районе __declspec и #pragma, но вроде глухо.
277
29 сентября 2011 года
arrjj
1.7K / / 26.01.2011
Ага, static library в опциях проекта ставь. (dll после этого не нужен)
http://msdn.microsoft.com/en-us/library/ms235627%28v=VS.90%29.aspx
On the Application Settings page of the Win32 Application Wizard, under Application type, select Static library.
63K
30 сентября 2011 года
SimSonic
16 / / 14.03.2011
arrjj, мне-таки хотелось бы оставить остальную часть кода в виде .dll.
Хотя, после всех вчерашних поисков, начинаю задумываться, что превратить .dll полностью в .lib - возможно, будет адекватно.

В любом случае, спасибо.
277
30 сентября 2011 года
arrjj
1.7K / / 26.01.2011
Ну если чисто классы - то можно просто их скомпилированый obj добавлять к проектам.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог