学习makefile--1
来源:互联网 发布:java premain 编辑:程序博客网 时间:2024/05/16 13:40
makefile之前看过一遍相关的课件,ppt上的例子试了下竟然没有成功。新年加班的第一天,无意之中看到一篇博客,竟然试成功了,今天开了个头其实不难么。,我的例子也来自以下这个博客。(http://blog.chinaunix.net/space.php?uid=25124785&do=blog&id=76670)
------------------------------------------------------------------------------------------------华丽分割------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
第一阶段 一个文件的makefile
1.我们要编译的文件为hello.c
#include<stdio.h>int main(){printf("hello");}2.在hello.c的同一个目录下(不同目录下是不是也可以?要怎么写,目前还不会),写一个makefile文件
hello:hello.o gcc -o hello hello.ohello.o:hello.c gcc -c hello.cclean: rm -f hello.o hello3.执行 make
4.此时执行可以看到hello已经生成
5.执行hello文件
6.结果如下
注意哦,并不是没有结果,而是结果没有换行。
鉴于这样不方便阅读,以后应该在printf的结尾应该加上“\n”,这也是http://blog.chinaunix.net/space.php?uid=25124785博客中特意注明的地方。
7.修改hello.c
#include<stdio.h>int main(){printf("hello\n");
printf("新年快乐\n");////这句话与此次学习无关。^。^}好了,这就结束了最简单的makefile,下回再试更复杂一点的。
--------------------------------------------------------------------------华丽分割-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
makefile规则简介
一个 makefile 主要含有一系列的规则,如下:
A: B
(tab)<command>
(tab)<command>
每个命令行前都必须有tab符号。
上面的makefile文件目的就是要编译一个helloworld的可执行文件。让我们一句一句来解释:
hello :hello.o hello依赖hello.o目标文件。
gcc -o hello hello.o 编译出hello可执行文件。-o表示你指定 的目标文件名。
hello.o:hello.c hello.o依赖hello.c文件。
gcc -c hello.c 编译出hello.o文件。-c表示gcc 只把给它的文件编译成目标文件, 用源码文件的文件名命名但把其后缀由“.c”或“.cc”变成“.o”。在这句中,可以省略-o file1.o,编译器默认生成file1.o文件,这就是-c的作用。
clean:
rm -f hello.o hello
当用户键入make clean命令时,会删除hello.o 和hello\文件。
如果要编译cpp文件,只要把gcc改成g++就行了。
写好Makefile文件,在命令行中直接键入make命令,就会执行Makefile中的内容了。
到这步我想你能编一个hello程序了。
------------------------------------------------------------------华丽一割---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
新年第一天就是加班啊,我小小不平衡了下,但是来了就应该有点成果嘛,除了改了BUG,查看了部分代码外,也给今年的学习开个好头。与君共勉。嘿嘿
- makefile学习笔记(1)
- makefile学习1
- Makefile学习1
- Makefile 学习(1):Introduction
- 学习makefile--1
- makefile 学习例子1
- Makefile学习(1)
- Makefile学习笔记1
- makefile 学习笔记1
- makefile学习笔记1
- Makefile学习实例1
- makefile学习 (1)
- makefile学习笔记1
- Makefile学习笔记1
- Makefile学习(1)
- Makefile学习笔记1
- makefile学习经验(1)----初识Makefile
- Makefile 学习笔记 (1)
- 用js给属性为readonly的文本框赋值 无效的解决方法
- 【Android】Conversion to Dalvik format failed with error 1解决方案
- 如何提取Assembly中的DLL
- 试题:将阿拉伯数字转为罗马数字
- android学习问题集锦
- 学习makefile--1
- C语言:宏中"#"和"##"的用法
- ashx中使用session
- asp.net未能加载类型Global
- ASP.NET中Get和Post的用法
- JMock测试入门
- VS2010设置选中的关键字高亮
- Boost.Interprocess使用手册翻译之三:一些基本解释 (Some basic explanations)
- magento 自定义pager自定义每页显示多少条记录