您的位置:首页 > 运维架构 > Linux

如何在linux下写makefile

2012-12-13 23:08 751 查看
本文主要来自于陈皓老师的跟我一起写makefile,链接地址:/article/2551849.html

Windows下用集成开发环境(IDE)开发程序时不会涉及到编译、链接的步骤,集成开发环境已经把这些工作给你集成好了,你要做的就是根据语言的语法来编写代码。所以Windows下开发程序对makefile会有点生疏。

makefile的作用也是把你编写好之后的源文件进行编译与链接,只是它这个过程需要你自己去指定编译与链接的文件。

makefile的基本格式如下:

target…
:prerequisite…

(Tab键)command

格式解释

target:生成的目标文件,可以是可执行文件,也可以是中间目标文件

prerequisite:生成target所需要的文件

command:make需要的执行命令,一般是编译与链接的命令,命令前面必须要有Tab键才能有效果

makefile的简单例子(用的Ubuntu11.10):

makefile文件中的内容:



makefile文件与hello.c源文件都在我新建的command文件夹中;然后转到控制台再切换到command目录下,直接输入make会才生hello.o与exe.out两个文件,如下图:



在控制台下的命令:



GCC

GCC是一个用于linux系统下编程的编译器。GCC原名为GNU
C语言编译器(GNU C Compiler),因为它原本只能处理C语言。GCC很快地扩展,变得可处理C++。之后也变得可处理Fortran、Pascal、Objective-C、Java、Ada,以及Go与其他语言。
命令解释

gcc –c hello.c:编译command目录下的hello.c源文件,编译之后会成成hello.o中间文件。

rm:删除command目录下的hello.o与exe.out文件

./exe.out:输出exe.out可执行文件,hello.c中我写的是Hello World!

make:make命令与make exe命令执行的效果是一样的。

Windows下的VS系列的编译器是cl.exe;链接器是link.exe;makefile生成的是nmake.exe;linux下gcc把编译与链接两个功能都包括进来了。

如果对编译、链接、源文件到可执行文件的详细过程,可以看看程序员的自我修养,链接地址:http://download.csdn.net/detail/lishuanglin131/4852131
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: