仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1145|回复: 8
打印 上一主题 下一主题

[其他Linux] linux教程之体系编译:怎样给Make命令来传送参数

[复制链接]
乐观 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 16:51:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
网络操作命令: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命令:

[ychq@ICM3-2net]$makeCFLAG=-DDEBUG
gcc-g-Wall-DDEBUGa.c
a.c:Infunction`main:
a.c:9:warning:implicitdeclarationoffunction`printf[ychq@ICM3-2net]$

我们能够发明,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操作系统这个名词记得在很早以前就听过,但当时并不知道具体是什么样的操作系统,只知道是一个与嵌入式密切相关的操作系统。
小妖女 该用户已被删除
5#
发表于 2015-2-16 07:25:28 | 只看该作者
首先Linux是开源的,这也是最主要的原因,想学windows,Unix,对不起我们没源代码。也正是因为这样,Linux才能够像滚雪球一样越滚越大,发展到现在这种规模。
变相怪杰 该用户已被删除
6#
发表于 2015-3-5 01:50:26 | 只看该作者
随着IT从业人员越来越多,理论上会有更多的人使用Linux,可以肯定,Linux在以后这多时间不会消失。
若相依 该用户已被删除
7#
发表于 2015-3-11 22:45:38 | 只看该作者
现在的linux操作系统如redhat,难点,红旗等,都是用这么一个内核,加上其它的用程序(包括X)构成的。
兰色精灵 该用户已被删除
8#
发表于 2015-3-19 15:52:08 | 只看该作者
当然你不需搭建所有服务,可以慢慢来。自己多动手,不要非等着别人帮你解决问题。
分手快乐 该用户已被删除
9#
发表于 2015-3-29 04:38:01 | 只看该作者
最好先搜寻一下论坛是否有您需要的文章。这样可以获得事半功倍的效果。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:04

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表