Почему EXE-файл, который * ничего не делает *, содержит так много фиктивных нулевые байты?

I ' я скомпилировал файл C, который абсолютно ничего не делает (только main , который возвращает ... даже не печатается «Hello, world»), и я скомпилировал его с помощью различных компиляторов (MinGW GCC, Visual C ++, Windows DDK и др.). Все они связаны со стандартной средой выполнения C.

Но чего я не понимаю: когда я открываю файл в шестнадцатеричном редакторе (или дизассемблере), почему я вижу, что почти половина 16 КБ - это просто огромные участки размером 0x00 или 0xCC байтов? Мне это кажется довольно смешным ... есть ли способ предотвратить это? И почему они вообще там?

Спасибо!

5
задан Mehrdad 5 January 2011 в 09:46
поделиться