很抱歉上周又停更了,因为最近痴迷上了OpenGL,正在学习中~
上节介绍了最简单的完整的C语言的源代码,今天我们让操作系统来执行它。
安装翻译器
之前已经说过C语言源代码需要经过翻译器翻译成可执行文件,之后才能由操作系统来执行。首先要选择并安装一个翻译器。我选择的翻译器是gcc。gcc是由GUN组织提供的一款开源的C语言翻译器。也是流行的C语言翻译器之一。
在Ubuntu下安装gcc非常简单只需要在终端中执行这个命令sudo apt install gcc
即可。关于sudo
和apt install
已经在安装vim那节里做了说明,这里就不再赘述了。
安装完gcc后我们可以使用gcc --version
来判断安装的是否成功。 如果出现以下提示说明安装成功。
编译源代码
先将终端的当前路径切换到OurC。
使用gcc翻译C语言源代码也很方便,只需要输入gcc main.c
即可。其中main.c
是我们想让gcc翻译的C语言源文件。
如果没有任何提示恭喜你,说明你的main.c
成功地被翻译成了可执行文件。
使用ls
指令,你会发现OurC目录中多出来一个名为a.out
的文件。这个a.out
就是可执行文件了。
让操作系统执行可执行文件
让Ubuntu执行可执行文件很简单只需要在终端中输入可执行文件完整的路径名称回车就可以了。比如我的a.out
文件的完整路径名称是/home/eniac/Desktop/OurC/a.out
。如果你完全按照本教程来创建OurC目录那么你的完整路径名称只有eniac
部分可能是跟我不一样的,它会是你的用户名。
现在让我们尝试执行以下a.out
同样,如果没有提示任何错误就说明你的可执行程序运行成功了。我们的目的是计算2+1,但我们却看不到结果。在最开始介绍CPU时提到,CPU的所有计算结果都保存在内存中,如果想让结果显示在终端上,必须通过控制显示器来显示内存的内容。但一上来就将这么复杂的东西,会影响你对C语言的理解。我计划在2~4节后,再来说明如何将内存中的内容打印到终端中。
每次执行可以执行文件都要输入长长的完整路径很麻烦。可以利用当前路径对输入进行简化。./
代表当前路径,因为我们已经将终端的当前路径切换成/home/eniac/Desktop/OurC
了。因此我们只需要输入./a.out
便可以执行a.out
了。
今后对于Linux操作的介绍会越来越简化。因此如何看到不明白的地方欢迎留言~