我想知道为什么我们从编译.c文件得到的.o文件打印出"Hello,World!" 大于Java .class文件,也打印"Hello,World!"?
考虑以下用ANSI C编写的程序.
file: test.c
main() {}
Run Code Online (Sandbox Code Playgroud)
我在Windows 7上.我使用MinGW来编译这个文件.
$ gcc test.c
Run Code Online (Sandbox Code Playgroud)
然后,我想看看这个文件的大小.
$ ls -la a.exe
-rwxr-xr-x 1 Username Administrators 47902 Nov 21 15:57 a.exe
Run Code Online (Sandbox Code Playgroud)
似乎这个完全空洞,毫无价值的C程序编译成一个几乎五十千字节的二进制文件.世界上为什么会发生这种情况?