Анатомия C Run-Time, или Как сделать программу немного меньшего размера Страница 8. Уменьшение выравнивания файловых секций
|
Страница 8 из 15 Уменьшение выравнивания файловых секций Возможно, владельцы Visual C++ 5.0 заметили, что у них в результате получаются EXE-файлы куда меньшего размера, чем сказано здесь. Дело в том, что компоновщик версии 5.0 использовал выравнивание секций исполняемого файла на величину 512 байт. Начиная же с версии 6.0, при сборке приложения используется другая величина выравнивания - 4К. Это позволяет быстрее загружать такой файл в Windows 98 и более новых версиях ОС. Вернуть прежнюю величину выравнивания можно, задав недокументированную опцию компоновщика /opt:nowin98:
cl /MD test.cpp user32.lib /link /opt:nowin98 | Размер EXE в результате составляет менее 3-х килобайт! Но не забудьте, что такой файл будет медленнее загружаться в память, и что он по-прежнему требует наличия MSVCRT.DLL. |