乐观 发表于 2015-1-16 16:51:41

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命令,可以完成非常复杂的操作,如果同样的操作用图形界面的工具来完成,恐怕要多花十几陪的时间。

愤怒的大鸟 发表于 2015-1-17 21:25:44

应对Linux的发展历史和特点有所了解,Linux是抢占式多任务多用户操作系统,Linux最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具。

admin 发表于 2015-1-21 10:21:07

Linux的成功就在于用最少的资源最短的时间实现了所有功能,这也是符合人类进化的,相信以后节能问题会日益突出。

不帅 发表于 2015-2-6 13:36:29

Linux操作系统这个名词记得在很早以前就听过,但当时并不知道具体是什么样的操作系统,只知道是一个与嵌入式密切相关的操作系统。

小妖女 发表于 2015-2-16 07:25:28

首先Linux是开源的,这也是最主要的原因,想学windows,Unix,对不起我们没源代码。也正是因为这样,Linux才能够像滚雪球一样越滚越大,发展到现在这种规模。

变相怪杰 发表于 2015-3-5 01:50:26

随着IT从业人员越来越多,理论上会有更多的人使用Linux,可以肯定,Linux在以后这多时间不会消失。

若相依 发表于 2015-3-11 22:45:38

现在的linux操作系统如redhat,难点,红旗等,都是用这么一个内核,加上其它的用程序(包括X)构成的。

兰色精灵 发表于 2015-3-19 15:52:08

当然你不需搭建所有服务,可以慢慢来。自己多动手,不要非等着别人帮你解决问题。

分手快乐 发表于 2015-3-29 04:38:01

最好先搜寻一下论坛是否有您需要的文章。这样可以获得事半功倍的效果。
页: [1]
查看完整版本: linux教程之体系编译:怎样给Make命令来传送参数