要想知道一个C语言程序是如何运行的?我们先给出一个最简单的“Helloworld”程序来进行说明。
#include <stdio.h>
int main(void){
printf("Helloworld! \n");
return 0;
}
通过编译和链接这两个步骤之后将会在文件中产生一个.exe可执行文件。这个可执行文件是由VC++(C语言编译工具)软件生成的。当单击“执行”或者按下快键键Ctrl+F5时,执行的就是这个.exe文件。但是这个文件并不是由VC++执行的,而是由CPU执行的。
当单击“执行”按钮时,VC++编译工具就会向操作系统发出请求,让操作系统执行.exe文件。而操作系统收到VC++的请求时,就会调用CPU。执行的结果就是在显示器上输出“Helloworld!”的字样。这就是此程序执行的过程。
由此可见,所有的C语言程序编译链接后产生的可执行文件(也就是.exe文件)都需要操作系统来进行处理运行。
如有没有操作系统,所有的软件都是不能运行的。所以不要以为VC++就可以解决C语言程序运行的全部过程。它的所有操作都要靠底层的操作系统来支持。因为只有操作系统才能控制硬件,所有的软件都不能直接访问硬件。