title: Why does compiling a C program produce such a long binary?
body: <p>I have heard that when a compiler compiles code, what it does is create a file that contains instructions that a machine can execute.  According to <a href="https://youtube.com/watch?v=QXjU9qTsYCc" rel="nofollow noreferrer">this video,</a> a simple program like <code>int main(){ int i; i = 3; }</code> should, when compiled, produce a file that's only several bytes long.  So why does clang compile this into a file that's several kilobytes long?</p>