Mengapa dua binari program dengan hanya komentar diubah sama persis di gcc?

Saya membuat dua program C. Program 1 int main() { } Program 2 int main() { //Some Harmless comments } AFAIK, saat mengkompilasi, kompilator (gcc) harus mengabaikan komentar dan whitepaces yang berlebihan, dan karenanya keluarannya harus serupa. Tetapi ketika saya memeriksa md5sums dari...