2 / 0 / 1
Регистрация: 31.10.2013
Сообщений: 21
|
|
1 | |
Статические библиотеки31.10.2013, 18:27. Показов 2897. Ответов 44
Метки нет (Все метки)
Всем доброго!
Есть вопрос про статические либы. Допустим, у нас есть статическая либа A-s.lib (/MT) Его внедряем в новый проект-библиотекарь, т.е которая будет использовать A-s.lib. После на выходе мы имеем B-s.lib. (/MT) Внимание вопрос: если я буду использовать B-s.lib в своей программе, то нужно ли внедрять в компоновщик и тащить с собой A-s.lib, кроме хедеров? Короче, будет ли библиотека B-s.lib содержать методы A-s.lib?
0
|
31.10.2013, 18:27 | |
Ответы с готовыми решениями:
44
Статические библиотеки Статические и динамические библиотеки Статические библиотеки и Visual studio Линковка, статические, динамические библиотеки - матчасть |
2 / 0 / 1
Регистрация: 31.10.2013
Сообщений: 21
|
|
31.10.2013, 18:31 [ТС] | 3 |
0
|
2 / 0 / 1
Регистрация: 31.10.2013
Сообщений: 21
|
|
31.10.2013, 18:36 [ТС] | 5 |
0
|
2 / 0 / 1
Регистрация: 31.10.2013
Сообщений: 21
|
|
31.10.2013, 18:47 [ТС] | 7 |
Конкретный пример не могу привести, но могу точнее описать.
Допустим: - Есть статическая мультимедийная(sml) библиотека: sml_system-s.lib, sml_graphic-s.lib - Есть левая ГУИ библиотека(sgui.lib), которая собирается из sml_graphic-s, sml_system-s.lib - Есть конечный проект (hello_world.exe), которому нужно использовать обе библиотеки. Достаточно ли проекту hello_world.exe использовать библиотеку sgui-s.lib и инклуды из sml и sgui?
0
|
2 / 0 / 1
Регистрация: 31.10.2013
Сообщений: 21
|
|
31.10.2013, 23:42 [ТС] | 9 |
Это не библиотека, исполняемый файл.
Вроде понятно же объясняю, елки палки. Сейчас нарисую диаграмму на паинте:
0
|
2 / 0 / 1
Регистрация: 31.10.2013
Сообщений: 21
|
|
01.11.2013, 00:04 [ТС] | 11 |
Не путаюсь я, вроде.
Вот набросал, можно ли обойтись только первым вариантом? Стрелки указывает на использование ресурсов из.
0
|
2 / 0 / 1
Регистрация: 31.10.2013
Сообщений: 21
|
|
01.11.2013, 00:10 [ТС] | 13 |
Раньше использовал только второй вариант именно в таких случаях, сейчас решил перейти на первый.
Благодарю, вы сэкономили мне время.
0
|
2 / 0 / 1
Регистрация: 31.10.2013
Сообщений: 21
|
|
01.11.2013, 00:18 [ТС] | 15 |
Нет, вы ответили так, как надо.
Сделаю рефакторинг, и если дело пойдет не так, я подниму эту тему.
0
|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
|
|
01.11.2013, 00:19 | 16 |
Токо читал про статические либы в VS. От пишут что библиотека состаит из набора объектных файлов obj можно создать самому библиотеку lib использовать для этого lib.exe и передать на вход ему файлы file.obj file1.obj .... filen.obj и на выходе мы получим библиотеку .lib. Так же можно lib разбить обратно на obj и даже вроде из нее удалить какой нить obj. И создатели библиотек стараются разбить на минимальные единицы .obj, что б каждой функции соответствовал один .obj, это сделано для того что бы при использовании какой нить функции мы подлючили только один нужный obj от одной функции, а не с левыми, которые не используются.
В общем если у тебя эта прога просто создает одну библиотеку из другой, ну хз. мб она выборочно повключает в эту новую все объектные файлы нужные для работы. Если у тебя есть новый файл, то ты можешь просто его разбить на объектные файлы и посмотреть что в ней содержиться lib.exe - это прога которая разбивает библиотеки lib, на объектные файлы и создает из них. Просто разбей первый файл A-s.lib и потом второй B-s.lib и посмотри что в них находиться!!! Не помню команду как разбивать ключ не помню.
0
|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
|
|
01.11.2013, 00:25 | 18 |
Глянул в книге, там нужно с под командной строки зайти и прописать lib.exe /LIST > myInfoFile.txt (vs2006) и оно выведет в файл myInfoFile.txt все названия .obj файлов. Как правило библиотеки деляться по функциям, для каждой функции создается свой объектный код. От разложи и посмотри содержимое, сравни.
А по простому просто попробуй не подключить, если будет работать значит не нужно!!!
0
|
01.11.2013, 00:33 | 20 |
Для каждого компилятора может быть своя статическая библиотека. В "статике" есть свои плюсы как и в "динамике".
0
|
01.11.2013, 00:33 | |
01.11.2013, 00:33 | |
Помогаю со студенческими работами здесь
20
Компиляция, линковка, статические и динамические библиотеки про библиотеки в VS C++ (какие библиотеки нужны для функций 'cout' и 'cin') Как включить библиотеки в исполняемый файл, чтобы не приходилось ставить библиотеки (Eclipse) статические массивы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |