c#编译生成的 exe文件,是一个由中间语言(IL)、元数据(Metadata)和一个额外的被编译器添加的目标平台的标准可执行文件头(比如Win32平台就是加了一个标准Win32可执行文件头)组成的PE(portable executable,可移植执行体)文件,需要由CLR执行。c、c++编译生成的exe文件是传统的二进制可执行文件,可以由硬件直接执行。虽然他们有着相同的扩展名,但是却有很大的差别。