下面就是一个简单的“HelloWorld”程序:
#include <stdio.h>
int main(void)
{
printf("HelloWorld!\n");
return 0;
}
通过编译和链接这两个步骤会产生一个.exe可执行文件。这个可执行文件是由编译器(VC++、VS、Dev C++ 等)这个软件生成的。当单击“执行”或按 Ctrl+F5 时,执行的就是这个 .exe 文件。但这个文件并不是编译器执行的,而是由 CPU 执行的。
当单击“执行”或按 Ctrl+F5 时,编译器就会向操作系统发出请求,让操作系统执行这个 .exe 文件。而当操作系统收到编译器的请求时,它就会调用 CPU,让 CPU 来执行。执行的结果就是在显示器输出"HelloWorld!"。这就是这个程序的执行过程。
如果没有操作系统,所有的软件都是不能运行的。所以不要以为编译器可以解决任何问题。它的所有操作也都要靠底层操作系统的支持,并最终靠 CPU 来执行。因为只有操作系统才能控制硬件,所有的软件都不能直接访问硬件。