2010-12-13 3 views
1

В последнее время я работал с Windows API, пытаясь написать как можно меньше программ Windows на основе gui. Скорость не очень большая проблема для меня, то, что я собираюсь, это размер исполняемого файла.Какой компилятор C создает самые маленькие исполняемые файлы Windows?

Просто интересно, какой компилятор C будет производить самые маленькие двоичные файлы, особенно без каких-либо трюков или слишком много возиться с ним.

+0

Ответ на этот вопрос невозможно без фактического * создания вашей программы *. Каждая программа будет отличаться. Попробуйте некоторые компиляторы и узнайте. –

ответ

3

У меня нет большого опыта работы с этим в Windows, но Tiny C Compiler действительно создает очень маленькие исполняемые файлы.

Я протестировал его на базовой программе «Hello world», а размер exe был 1,5 КБ, примерно 1/12 - размер исполняемого файла MinGW. Я не тестировал его с помощью Visual C++ (потому что у меня его нет), но вы поняли эту идею. Он делает небольшие исполняемые файлы.

1

Посмотрите исполняемое сжатие (например, UPX). Это даст вам намного дальше, чем любой компилятор, за счет случайных ложных срабатываний от антивирусных сканеров.

+0

Да, я использую UPX. Мне было интересно, погода или нет. Я мог бы еще больше уменьшить размер исполняемого файла, переключившись на другой компилятор. Кстати, я использую Visual Studio. –

+1

Что касается сжатия, так это то, что с хорошим алгоритмом (и UPX, как предполагается, хорошенько хорош), вы больше ограничены фактической информацией, которую вы передаете, а не информацией. В какой-то момент вы просто не можете закодировать n бит информации в n-1 бит. –

Смежные вопросы