Linux下GCC和Makefile实例(从GCC的编译到Makefile的引入)

1、确认已经装好了GCC和Make的软件包

可使用whereis命令查看:html

若是whereis  gcc和whereis  make命令有结果,说明安装了这两个软件,能够继续往下作。web

2、使用GCC编译运行一个HelloWorld程序(只涉及单个文件)

能够在任何一个目录编写C程序而后编译运行,我这个实例在本身主目录进行:shell

而后就进入了编写程序的界面:vim

按下键盘”i”进入编辑界面,而后输入程序:编辑器

按ESC(进入命令行模式),而后输入”:wq”,冒号表示开始输入命令,字母w表明保存文件,字母q表明退出编辑器:函数

按回车退出vim编辑器,退回到终端,如下是以后的编译运行截图:spa

3、使用GCC编译运行一个多文件程序(包含主程序和子程序)

这里咱们要写两个C程序文件,一个文件里面写个被调函数,另一个文件中main函数调用第一个文件的函数,以下所示:.net

ex_display.c的代码以下,一样的写完后ESC而后输入:wq退出:命令行

输入以下的main函数代码:3d

而后保存退出,以下是编译运行过程:

 

4、使用Makefile解决多文件编译运行的问题

正如上节的红框框里面所叙述,若是一个程序涉及的文件不少的话,每一个都得写出来,非常麻烦,因此Makefile就出现了,请看教程:

进入makefile的编辑界面后,输入以下内容:

而后保存退出,运行make命令:

 

5、Makefile和shell script方法的对比

有人说,我把以前的全部命令,全写到shell script里面,不就达到Makefile的效果了,没错确实最终效果是相同的,可是Makefile却有这些好处:

  • 简化编译执行的命令(并无gcc –c的过程)
  • 一次make后,下次只会编译改动的文件,其它的文件不会再编译了

其它还有一些优势,不过这第二个优势,对于大型项目来讲,好处太大了!

----------------------------------

转自:http://www.crazyant.net/414.html 

相关文章
相关标签/搜索