如何在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
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
相关文章推荐
- Linux 如何写makefile文件
- 在linux下如何使用Makefile对fortran程序进行编译
- linux -I -L目录是什么目录,noxim的makefile.defs里的环境变量如何设置
- 【ZYNQ_LINUX】如何把自己的驱动编译进内核或模块(Kconfig和Makefile
- linux下如何编写makefile文件
- 如何写Linux下编译驱动模块的Makefile
- Linux 如何写makefile文件
- [22]_为什么及如何编写Linux设备驱动的Makefile
- 如何在linux下写makefile
- 如何linux下构建多目录下Makefile产生a静态库样例
- Linux 如何写makefile文件
- linux下如何自动生成Makefile文件
- 命令make是如何工作的。[Makefile,Linux]
- 如何在Linux kernel Makefile中添加宏定义
- 如何在Linux kernel Makefile中添加宏定义
- 如何调试linux gcc makefile
- 嵌入式 linux下date命令详解以及如何在Makefile中定义宏并在c中进行使用来定义软件版本号
- Linux下面如何进行C语言编程与makefile 初学
- Linux里Makefile是什么?它是如何工作的?
- 如何在Linux下使用Gitblit工具创建Git仓库服务