Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
1 / 1 / 0
Регистрация: 03.02.2012
Сообщений: 23

Увеличился размер dll при переходе с VS2005 на VS2010

18.09.2012, 21:38. Показов 2282. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!

С недавних пор решил пересесть с VS2005 на VS2010. При этом у части проектов (mfc библиотеки) раза в 4 увеличился релизный dll файл. Сравнил настройки проектов в VS2005 на VS2010, они идентичны, в чем причина не пойу. Гугл не помог.

Можете подсказать, какие настройки проекта влияют на размер библиотеки или если дело не в настройках, то почему так произошло?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.09.2012, 21:38
Ответы с готовыми решениями:

Конвертация VS2010 -> VS2005
Кто знает как переконвертировать Form Application из Visual Studio 2010 в Visual Studio 2005 - пожалуйста отпишите! ОЧЕНЬ НУЖНО!

Изменить размер окна fancybox при переходе по ссылке
Есть модальное окно с описанием товара, в этом окне есть кнопа купить, которая ведет на форму обратной связи. Форма открывается в этом же...

После преобразования типа колонки из real в int размер таблицы увеличился в два раза
У меня в таблице есть несколько колонок типа real. Там хранятся числа вида 1.23, 1.34, 0.45675 и т.д., не более 5 знаков. Я решил...

19
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
20.09.2012, 00:34
Jaha, ты компилируй DLL в Debug или Release конфигруациях?Если дебуг то всё понятно(в добавок приложения с такими ДЛЛ скорее всего шли лишь на твоём ПК) - поставь режим отладчика Release и всё будет ок и размер и портруемость на другие машины
0
1 / 1 / 0
Регистрация: 03.02.2012
Сообщений: 23
20.09.2012, 06:06  [ТС]
-=ЮрА=-, компилирую в релиз режиме.
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
20.09.2012, 06:28
Библиотеки подключены статически или динамически?
используется ли Юникод? в обоих проектах?
режим 32 или 64 бита
выравнивание везде одинаково?
компилится ли отладочная информация?
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
20.09.2012, 13:43
Цитата Сообщение от ValeryS Посмотреть сообщение
компилится ли отладочная информация?
Так.. в релиз режиме то не должна.. На то он и релиз.
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
20.09.2012, 14:30
Jaha, нужен исходник.
PS:Надеюсь речь не идёт об изменении размера там со 100 кБ до 120 это объясняется версией...
0
Brainsbreaker
 Аватар для Digit@ll
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
20.09.2012, 17:03
А нам нужны две релизные dll.
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
20.09.2012, 17:14
Цитата Сообщение от lazybiz Посмотреть сообщение
Так.. в релиз режиме то не должна.. На то он и релиз.
кто тебе сказал?
как настроишь так и будет
Вот в этой настройке например передается отладочная информация, удобно для компиляции.
не знаю как в 2010 в 2008 по умолчанию включена
Миниатюры
Увеличился размер dll при переходе с VS2005 на VS2010  
0
1 / 1 / 0
Регистрация: 03.02.2012
Сообщений: 23
20.09.2012, 18:26  [ТС]
-=ЮрА=-, исходник никак, он немаленький, размер увеличился с 2мб до 7.8, почти в 4 раза. Для меня это критично)


Вот скрины основных настроек проекта (под спойлер их спрятать нельзя ) :
Миниатюры
Увеличился размер dll при переходе с VS2005 на VS2010   Увеличился размер dll при переходе с VS2005 на VS2010   Увеличился размер dll при переходе с VS2005 на VS2010  

Увеличился размер dll при переходе с VS2005 на VS2010   Увеличился размер dll при переходе с VS2005 на VS2010   Увеличился размер dll при переходе с VS2005 на VS2010  

Увеличился размер dll при переходе с VS2005 на VS2010   Увеличился размер dll при переходе с VS2005 на VS2010   Увеличился размер dll при переходе с VS2005 на VS2010  

Увеличился размер dll при переходе с VS2005 на VS2010   Увеличился размер dll при переходе с VS2005 на VS2010  
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
20.09.2012, 18:39
У тебя статическая линковка MFC( 1 скин) use MFC in a static library
это увеличивает размер, но зато на всех машинах будет работать
Если сделать динамик может попросить МФКашную ДЛЛку если на машине клиента её не окажется

и присутствует отладочная информация ( а это тоже вес)
9 скин Linker-> Debugging Generate Debug Info - Yes (/DEBUG)
выключи его No
и посмотри насколько похудеешь
правда при дизасемблировании потеряешь имена функций, классов.....
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
20.09.2012, 18:44
Цитата Сообщение от Jaha Посмотреть сообщение
-=ЮрА=-, исходник никак, он немаленький, размер увеличился с 2мб до 7.8, почти в 4 раза. Для меня это критично)
- стоп мы сейчас гооврим о размере проекта или о размере самой DLL?

Не по теме:

PS:Да что вы(я не только к вам отвечаю, а ко всем которые вот так отвечают

Цитата Сообщение от Jaha Посмотреть сообщение
он немаленький, размер увеличился с 2мб до 7.8, почти в 4 раза.
) как дети малые - выкинули из проекта папку Debug Release и файл с расширением ncb (проект при этом худеет в сотни раз), то что осталось в архив и сюда.

0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
20.09.2012, 18:48
а еще используешь юникоде (строки больше в два раза)
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
20.09.2012, 18:50
Для всех читающих - у мелкософта в годы создания ХП была политика - любой проект влезает на съёмник 3,5'' тобишь на дискетку влезали абсолютно любые проекты, ну вот как вы думаете если проект 20 Мб как люди их носили когда флешей не было?Так вот выкидывали дебуг, релиз и нсб и всё проект становился маханьким до мегабайта.
Теперь ещё раз об этом
Цитата Сообщение от Jaha Посмотреть сообщение
он немаленький, размер увеличился с 2мб до 7.8, почти в 4 раза.
- если тут речь о проекте то скажу что 9-ая версия раздувает проект по сравнению с 6-й в раза 4-ри, а 10-ка по сравнению с 9-кой его ещё раздувает, чему вы удивляетесь либо ищите сакраментальный смысл. Ну так уж спрограмировал мелкософт - всё новое (ОС, ИДЕ) жрёт больше ресурсов чем старое...

Добавлено через 1 минуту
Jaha, чтобы компактно носить проект - делай вот эти магические действия
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
выкинули из проекта папку Debug Release и файл с расширением ncb
и всё будет размером до мегабайта.

Не по теме:

Вижу что проблема выединого яйца не стоит...

0
1 / 1 / 0
Регистрация: 03.02.2012
Сообщений: 23
20.09.2012, 18:50  [ТС]
-=ЮрА=-,виноват, неточно написал, естественно dll
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
20.09.2012, 18:55
и оптимизация по максимальной скорости а не минимальному размеру
а это значит что могут развернутся циклы создаваться инлайн функции (все это увеличивает размер и скорость)

Добавлено через 4 минуты
Цитата Сообщение от ValeryS Посмотреть сообщение
Библиотеки подключены статически или динамически?
используется ли Юникод? в обоих проектах?
режим 32 или 64 бита
выравнивание везде одинаково?
компилится ли отладочная информация?
три пункта из моих вопросов присутствует
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
20.09.2012, 18:57
Jaha, хорошо DLL я так понял под копирайтом и выкладывать не хотим, могу увидеть на скрне 2 DLL рядышком с размерами, я хочу хоть понять о каких размерах ведём речь или напиши точно сколько было и сколько стало, хоть какая то зацепка будет.

Не по теме:

Потому как у тебя всё растёт в 4-раза и проект и длл(не обижайся):)

0
1 / 1 / 0
Регистрация: 03.02.2012
Сообщений: 23
20.09.2012, 19:19  [ТС]
ValeryS, все переклацал, и вместе и поочередно, размер уменьшился максимум на килобайт 100.

-=ЮрА=-, размер в 2005: 1.958, в 2012: 7.831 кб
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
20.09.2012, 19:21
Цитата Сообщение от Jaha Посмотреть сообщение
уменьшился максимум на килобайт 100.
что то не верится один переход от статической к динамической линковке должен уменьшить размер раза в полтора-два
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
20.09.2012, 20:05
Цитата Сообщение от Jaha Посмотреть сообщение
размер в 2005: 1.958, в 2012: 7.831 кб
- что то неверно с настройками, либо всё же компилируем Debug версию. Прошу простить за вопрос, но можно скрин увидитеть, что компилировалось всё именно в Release?

Не по теме:

Честно не верю я что вот такие вещи могут с DLL происходить, у меня изменение при переходе с 6-ки на 9-ку составляет от силы пару Кб но не мегабайты же:swoon:

0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
20.09.2012, 20:12
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Честно не верю я что вот такие вещи могут с DLL происходить,
да вполне возможно настройки по умолчанию в 2005 и 2010 различаются
например Юникоде если используется много строк то считай каждая строка увеличивается в 2 раза
я ж ему показал
статическая линковка
Юникоде
Отладочная информация
оптимизация по скорости а не по размеру
все это тянет за собой размер
особенно статическая линковка, библиотеки то за 7 лет выросли
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.09.2012, 20:12
Помогаю со студенческими работами здесь

Вылетает примерно через 30 минут (при переходе в нет, в стим, или вообще простотак но при переходе)
Здравствуйте у меня windows вылетает на синий экран, внизу появляется отсчет до 100 потом он сам перезагружается! Повторяется раза три в...

VS2010 не видит DLL
Использую VisualStudio 2010, добавляю в Resources проекта библиотеку UsbLibrary.dll, затем пытаюсь загрузить ее, используя строку ...

Как создать dll на VS2010?
Добрый день! Уважаемые спец. помогите горю, леплю dll на VS2010 prof.rus для VB6 /

Как создать DLL в VS2010 C++ Динамически подключаемую?
Подскажите кто знает пробовал тут сам зделать не получилось

VS2010: Можно ли сделать 100% переносимый exe без msvcr100.dll?
Можно ли сделать переносимый VS 2010 C++ проект без msvcr100.dll? Поможет ли замена стандартных Сишных функций на WinAPI аналоги? Каким...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru