eXeL@B —› Вопросы новичков —› Библиотека импорта |
Посл.ответ | Сообщение |
|
Создано: 03 апреля 2017 00:48 · Личное сообщение · #1 |
|
Создано: 03 апреля 2017 01:37 · Личное сообщение · #2 |
|
Создано: 03 апреля 2017 01:48 · Личное сообщение · #3 |
|
Создано: 03 апреля 2017 21:46 · Личное сообщение · #4 plutos пишет: ну твой же файл не всегда будет "пустым", иначе зачем он такой нужен. Рано или поздно ты добавляешь СВОЙ код, который будет использовать стандартные библиотеки Win32 API, а они уже подключены по умолчанию для твоего удобства. Вы знаете, как то странно получается. Я компилирую exe в Release, а это означает что код конечный, и ничего добавляться не будет. Однако в kernel32.dll идет список из примерно 60 функций, ни одну из которых я не использую. а вот в user32.dll только одна запись MessageBoxA, ее то я и применяю. |
|
Создано: 03 апреля 2017 21:55 · Личное сообщение · #5 |
|
Создано: 03 апреля 2017 23:10 · Личное сообщение · #6 |
|
Создано: 04 апреля 2017 00:10 · Личное сообщение · #7 dosprog Вот копаем на форумах Причины ожирения программы: Одна из самых главных причин это CRT (C Runtime Library) которая докидывает довольно много кода в исполняемый файл, даже когда нам это не нужно. Полное избавление от CRT: Потребуется полный отказ от использования функций CRT, придется использовать только “скудный” WinAPI Выход есть? Или надо просто забить на VS? |
|
Создано: 04 апреля 2017 00:12 · Личное сообщение · #8 |
|
Создано: 04 апреля 2017 00:59 · Личное сообщение · #9 |
|
Создано: 04 апреля 2017 01:18 · Личное сообщение · #10 Не проще посмотреть Остальные флаги там же и да, от некоторых тоже зависит размер. |
|
Создано: 05 апреля 2017 20:01 · Личное сообщение · #11 Archer пишет: Открывается гугл и элементарно собирается программа хоть на 2-3 кб и то из-за выравнивания исключительно с тем кодом, что ты сам написал, и только с тем импортом. Но естественно это будет чистый винапи без CRT. Вы правы, после полного избавления от CRT, мой файл стал весить 1.5 кб , и импорт стал понятным и простым. Более того файл стал запускаться на любой системе независимо от флагов, /MD, /ML, /MT, /LD, потому как CRT больше нет. Отключение CRT помогает лучше понять что же напихано по умолчанию в исполняемый файл, ну и пригодится тому кому важны размеры. Всем большое спасибо за участие! |
eXeL@B —› Вопросы новичков —› Библиотека импорта |