Недавно я написал реализацию алгоритма сжатия Canonical Huffman. У меня есть тестовый файл объемом 500 КБ, который можно сжать до примерно 250 КБ при запуске сборок отладки и выпуска из Visual Studio 2008. Однако при запуске сборки выпуска непосредственно из исполняемого файла тестовый файл сжимается только до 330 КБ.
Я предполагаю, что что-то идет не так, когда файл пишется с использованием fwrite (). Я протестировал программу и подтвердил, что распаковка файлов всегда приводит к правильному распакованному файлу.
Кто-нибудь знает, почему это может быть? Как один и тот же исполняемый файл может создавать выходные данные разного размера в зависимости от того, откуда он запущен?