带来一篇关于Linux操纵体系makefile实例具体剖析
虽然Linux桌面应用发展很快,但是命令在Linux中依然有很强的生命力。Linux是一个命令行组成的操作系统,精髓在命令行。三个指令:
(1)ifeq:包括两个参数,被逗号分隔,并被括在圆括号内。ifeq与左括号之间要有空格
(2)else
(3)endif:停止前提语句。
例一:
TARGET=helloworld
CC=gcc
CFLAGS=-Wall-O-g
SRC=$(wildcard*.c)
OBJS=$(patsubst%.c,%.o,$(wildcard*.c))
$(TARGET):$(OBJS)
$(CC)$(CFLAGS)$(OBJS)-o$@
#$(RM)*.o
%.o:%.c
$(CC)$(CFLAGS)-c{GetProperty(Content)}lt;-o$@
clean:
rm-rf*.ohelloworld
例二:
VPATH=
OBJECTS=mmain.o./pchild/pchild.o
TARGET=mm
CC=cc
all:$(TARGET)
$(TARGET):$(OBJECTS)
$(CC)$(OBJECTS)-o$@
rm-f$(OBJECTS)
mmain.o:mmain.c
$(CC)-c{GetProperty(Content)}lt;-o$@
pchild.o:pchild.cpchild.h
$(CC)-c$^-o$@
例三:
VPATH=
OBJECTS=mmain.o./pchild/pchild.o
YESNO=NO
ifeq($(YESNO),YES)
TARGET=mm
else
TARGET=nn
endif
CC=cc
all:$(TARGET)
$(TARGET):$(OBJECTS)
$(CC)$(OBJECTS)-o$@
rm-f$(OBJECTS)
</p>
使用gcc或g++进行编译,使用gdb进行调试; 老实说,第一个程序是在C中编译好的,调试好了才在Linux下运行,感觉用vi比较麻烦,因为有错了不能调试,只是提示错误。 通过自学老师给的资料和向同学请教,掌握了一些基本的操作,比如挂载优盘,编译程序,在Linux环境下运行,转换目录等等。学了这些基础才能进行下面的模拟OS程序。? 在学习linux的工程中,linux学习方法有很多种,这里是小编的学习心得,给大家拿出来分享一下。 Linux最大的特点就是其开源性,这一点是十分难得的,这也是它能够存在到现在的原因之一。 这也正是有别的OS得以存在的原因,每个系统都有其自身的优点。? 我们这一代90后,从小接触的是windows98,家里条件好的自己有电脑装的是2000,后来又有了XP,上大学时又有了win7。 随着IT从业人员越来越多,理论上会有更多的人使用Linux,可以肯定,Linux在以后这多时间不会消失。 期间我阅读了不少关于Linux的相关资料,其中也不乏一些有趣的小故事,这既丰富了我的课余生活,也让我加深了对一些术语的理解,比玩游戏强多了。?
页:
[1]