nick7inc

Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Добрый вечер. Требуется совет. C++ minigw (3.4.2). Вопрос про оптимизации размера EXE файла. Делаю что-то вроде библиотеки: например, lib1.h и lib1.cpp файлов с часто используемыми функциями, компилируется вместе с программой. Заметил, что линковщик к EXE цепляет всё, что ему не скормишь: и нужное, и ненужное. Сделал тестовую программу. Пробовал из lib1.cpp вынести в отдельный модуль (module.cpp) одну функцию (не используется в конкретной тестовой программе), в которой много текстовых строк (сразу заметно её наличие в получаемом EXE файле). Если модуль добавлять к проекту, то он включается в EXE, если не добавляешь, то не включается. При этом программа собирается без проблем в обоих случаях, т.к. функция в модуле не используется. Вопрос. Как организовать библиотеку (набор функций) так, чтобы к EXE цеплялись только используемые? Вариант с фрагментацией lib1.h и lib1.cpp на десятки файлов неудобен, потом замучаешься всё это в проект добавлять. Слышал ещё про вариант с компилированной библиотекой (разбиваем на модули CPP, компилируем в lib1.a). Это единственный вариант?
---------- Джин, не лезь в бутылку. |
| Всего записей: 1138 | Зарегистр. 04-05-2007 | Отправлено: 20:41 05-04-2015 | Исправлено: nick7inc, 21:27 05-04-2015 |
|