linux教程之体系编译:怎样给Make命令来传送参数
网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rloginrcp、finger、mail、nslookup在编译体系的时分,我们一样平常只需复杂的输出make实行就能够了。但偶然候,我们仍是必要让make命令带进一些参数给makefile剧本。
好比,你在代码内里必要界说一个宏DEBUG来翻开调试开关,代码以下:
intmain()
{
inti=9;
#ifdefDEBUG
i=1;
#else
i=0;
#endif
printf("i=%d
",i);
return0;
}
一样平常来讲,这个宏界说能够经由过程间接修正源代码举行,但如许明显不是很好的举措。别的一个举措是经由过程makefile修正,好比:
CFLAGS=-g-Wall-DDEBUG
object=myprog
all:$object
myprog:a.c
gcc${CFLAGS}a.c-o${object}
假如更进一步,连makefile都不想修正,我们能够经由过程向make命令传送参数来举行,为此,我们必要得当的修正makefile以下:
CFLAGS=CFLAG
CFLAGS+=-g-Wall-DDEBUG
object=myprog
all:$object
myprog:a.c
gcc${CFLAGS}a.c-o${object}
此时,假如想翻开DEBUG宏,我们能够如许输出make命令:
$makeCFLAG=-DDEBUG
gcc-g-Wall-DDEBUGa.c
a.c:Infunction`main:
a.c:9:warning:implicitdeclarationoffunction`printf$
我们能够发明,DEBUG宏已被准确的传进。
更进一步的,我们能够经由过程传送分歧的参数给make,让make编译分歧的模块
</p>
功能实在太强了,在配合exec参数或者通过管道重定向到xargs命令和grep命令,可以完成非常复杂的操作,如果同样的操作用图形界面的工具来完成,恐怕要多花十几陪的时间。 应对Linux的发展历史和特点有所了解,Linux是抢占式多任务多用户操作系统,Linux最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具。 Linux的成功就在于用最少的资源最短的时间实现了所有功能,这也是符合人类进化的,相信以后节能问题会日益突出。 Linux操作系统这个名词记得在很早以前就听过,但当时并不知道具体是什么样的操作系统,只知道是一个与嵌入式密切相关的操作系统。 首先Linux是开源的,这也是最主要的原因,想学windows,Unix,对不起我们没源代码。也正是因为这样,Linux才能够像滚雪球一样越滚越大,发展到现在这种规模。 随着IT从业人员越来越多,理论上会有更多的人使用Linux,可以肯定,Linux在以后这多时间不会消失。 现在的linux操作系统如redhat,难点,红旗等,都是用这么一个内核,加上其它的用程序(包括X)构成的。 当然你不需搭建所有服务,可以慢慢来。自己多动手,不要非等着别人帮你解决问题。 最好先搜寻一下论坛是否有您需要的文章。这样可以获得事半功倍的效果。
页:
[1]