如何调试makefile

如何调试makefile,第1张

调试makefile的步骤如下,

一、make的退出码

make命令执行后有三个退出码:

0 —— 表示成功执行。

1 —— 如果make运行时出现任何错误,其返回1。

2 —— 如果你使用了make的“-q”选项,并且make使得一些目标不需要更新,那么返回2。

Make的相关参数我们会在后续章节中讲述。

二、指定Makefile

前面我们说过,GNU make找寻默认的Makefile的规则是在当前目录下依次找三个文件——“GNUmakefile”、“makefile”和“Makefile”。其按顺序找这三个文件,一旦找到,就开始读取这个文件并执行。

当前,我们也可以给make命令指定一个特殊名字的Makefile。要达到这个功能,我们要使用make的“-f”或是“--file”参数(“--makefile”参数也行)。例如,我们有个makefile的名字是“hchen.mk”,那么,我们可以这样来让make来执行这个文件:

make –f hchen.mk

如果在make的命令行是,你不只一次地使用了“-f”参数,那么,所有指定的makefile将会被连在一起传递给make执行。

三、指定目标

一般来说,make的最终目标是makefile中的第一个目标,而其它目标一般是由这个目标连带出来的。这是make的默认行为。当然,一般来说,你的makefile中的第一个目标是由许多个目标组成,你可以指示make,让其完成你所指定的目标。要达到这一目的很简单,需在make命令后直接跟目标的名字就可以完成(如前面提到的“make clean”形式)

任何在makefile中的目标都可以被指定成终极目标,但是除了以“-”打头,或是包含了“=”的目标,因为有这些字符的目标,会被解析成命令行参数或是变量。甚至没有被我们明确写出来的目标也可以成为make的终极目标,也就是说,只要make可以找到其隐含规则推导规则,那么这个隐含目标同样可以被指定成终极目标。

四、检查规则

让的makefile中的规则执行起来,检查一下我们的命令,或是执行的序列。于是可以使用make命令的下述参数:

“-n”

“--just-print”

“--dry-run”

“--recon”

不执行参数,这些参数只是打印命令,不管目标是否更新,把规则和连带规则下的命令打印出来,但不执行,这些参数对于我们调试makefile很有用处。

“-t”

“--touch”

这个参数的意思就是把目标文件的时间更新,但不更改目标文件。也就是说,make假装编译目标,但不是真正的编译目标,只是把目标变成已编译过的状态。

五、make的参数

下面列举了所有GNU make 3.80版的参数定义。其它版本和产商的make大同小异,不过其它产商的make的具体参数还是请参考各自的产品文档。

“-b”

“-m”

这两个参数的作用是忽略和其它版本make的兼容性。

“-B”

“--always-make”

认为所有的目标都需要更新(重编译)。

封版本的目的在于给开发定一个阶段性的目标,否则很有可能会出现开发过程无休止。封版本之后是可以修改代码的,但是无论是出于什么目的修改代码,那都是下一阶段的事情了。

版本控制基本流程如下:

1、创建配置项。

项目成员依据《配置管理计划》,在配置库中创建属于其任务范围内的配置项。此时配置项的状态为“草稿”,其版本号格式为0.YZ。

2、修改状态为“草稿”的配置项目。

项目成员使用配置管理软件的Check in/check out功能,可以自由修改处于“草稿”状态的配置项,版本号格式为0.YZ。

3、技术评审或领导审批。

如果配置项是技术文档,则需要接受技术评审。如果配置项是“计划”这类文件,则需要项目经理(或上级领导)的审批。若配置项通过了技术评审或领导审批,则转向下一步·否则转回上一步。

4、正式发布。

配置项通过技术评审或领导审批之后。则配置项的状态从“草稿”变为“正式发布”,版本号格式为X.Y。

5、变更。

修改处于“正式发布”状态的配置项,必须按照“变更控制流程”执行。

常用工具

1.开源版本控制工具

开放源码的版本控制工具有很多,如Concurrent Versions System( CVS)、Subversion( SVN)、Vesta、Revision Control System( RCS)、Source Code Control System( SCCS)等。比较常用的两个工具是CVS和SVN。

CVS是Dick Grune在1984年~1985年基于RCS开发的一个客户一服务器架构的版本控制软件,长久以来一直是免费版本控制软件的主要选择。SVN的一个重要开发目标是修正CVS中广为人知的缺点,提供一个新的版本控制软件。

对于中小规模团队,SVN是一个比较好的开源版本控制工具,SVN常用客户端工具为TortoiseSVN。

2.成熟的商业工具

商业工具提供了比开源版本控制工具更多的,尤其是和软件配置管理有关的功能。

IBM公司的Rational ClearCase是一款重量级的软件配置管理软件,为大中型软件开发企业提供了版本控制、工作空间管理、平行开发支持以及版本审计,可以为拥有上千开发者的大型项目提供全面配置管理支持。

以上内容参考 百度百科-版本控制

目前,国际上还没有统一的化妆品和洗涤用品防腐剂的标准和法规,美国、欧共体、日本、亚洲-太平洋地区都有各自相应的法规和标准。饱受争议的Parabens,它在化妆品中的应用都有哪些变化?

Parabens 尼泊金酯

Parabens是苯甲酸酯类的衍生物,也称尼泊金酯类。包括甲酯、乙酯、丙酯、异丙酯、丁酯、异丁酯、戊酯、庚酯、辛酯等,主要用作有机合成、食品、化妆品、医药的杀菌防腐剂,抗菌作用、毒性与水溶性与酯基团有关:随着酯基团增大,它的毒性降低,抗菌性增高,水溶性减小。

Parabens属广谱抗菌剂,对霉菌、酵母与细菌都有广泛的抗菌作用,对前两者作用强,对细菌作用弱, 总体抗菌性比苯甲酸及山梨酸等酸型防腐剂强。Parabens的有效pH值范围4-8,pH值8以上,由于分子离解,防腐能力会下降。

尼泊金酯在化妆品中使用的动向

——欧盟

2009年11月30日,欧盟发布新化妆品法规REGULATION (EC) No 1223/2009,列出了57种限用防腐剂(包含被删除的3项)。

2014年4月9日欧盟修订了化妆品法规 (EC) No 1223/2009 附件 II,SCCS注意到用于对羟基苯甲酸异丙酯、异丁酯、苯酯、苄酯和戊酯的安全性评价的信息极少,以上化合物不能评估对人类的风险。因此,这些物质不应再列入附件五(限用防腐剂),鉴于它们可能被用作抗微生物剂,它们应列入附件二,以明确他们被禁止在化妆品中使用。

也就是说,在化妆品禁止的物质清单内增加了五种Parabens,它们分别是对羟基苯甲酸异丙酯及其钠盐或其它盐、对羟基苯甲酸异丁酯及其钠盐或其它盐、对羟基苯甲酸苯酯、对羟基苯甲酸苄酯和对羟基苯甲酸戊酯。

随后,很多其他国家也跟随了这一法规,包括东南亚国家联盟。

同年9月18日欧盟再次修订了化妆品法规 (EC) No 1223/2009 附件 V,降低了对羟基苯甲酸丙酯和丁酯的最大浓度,单独或混合使用时都不能超过0.14%(以酸计),不得应用于三岁以下儿童臀部免洗产品。若应用在3岁以下儿童专用的免洗产品上,应标明“不要在臀部区域使用”。

尼泊金酯在化妆品中使用的动向

——中国

2015年8月,国家食品药品监督管理局发布876号文件,对《化妆品卫生规范》(2007年版)进行修订,形成了《化妆品安全技术规范》(征求意见稿)。意见稿中对Parabens做了重大修改,意见稿中明确标注了4-羟基苯甲酸及其盐类和酯类不包括“4-羟基苯甲酸异丙酯(isopropylparaben)及其盐,4-羟基苯甲酸异丁酯(isobutylparaben)及其盐,4-羟基苯甲酸苯酯(phenylparaben)”。

单一酯最大浓度0.4%(以酸计)、混合酯最大浓度0.8%(以酸计),且其丙酯及其盐类、丁酯及其盐类之和分别不得超过0.14%(以酸计)。

尼泊金酯可能存在的风险

容易引起皮肤过敏

在人体皮肤上积累,当积累到一定的量,会加速皮肤的衰老

加快色素沉淀,加速皮肤暗沉

尼泊金酯类为内分泌干扰物质,会影响机体内正常雄激素分泌,使雌激素水平增高。降低人体内的精子水平。孕妇使用可能引起新生儿生殖器畸形。

可能影响女性月经周期

2016年Yukiko Bishihama通过5个月期间的出血记录来研究月经周期长度和个体内变异,并测量128名女性日本大学生的尿液浓度的对羟基苯甲酸酯。发现月经周期长度和尿雌激素当量总对羟基苯甲酸酯(误差= 0.73,95% CI 0.56-0.96)和对羟基苯甲酸丁酯浓度(误差= 0.83,0.70-0.99)之间显著的负相关,表明尿液对羟基苯甲酸酯浓度高的女性月经周期缩短。这个结果可能暗示尼泊金酯暴露是人类生殖系统问题的环境因素之一。

对新生儿出生指标的影响

Laura等人在2007-2009年收集了185个病例,对孕妈妈的脐带血浆样品和尿液样品中检验Parabens、三氯生、三氯卡班的浓度和新生儿出生指标进行研究。与新生儿出生不良情况相关性如下:

增加PTB的概率(尼泊金丁酯)

胎龄缩短(尼泊金丁酯和三氯卡班)

出生体重下降(尼泊金丁酯)

身高减少(尼泊金丙酯)

低出生体重症(三氯卡班)

其中,尼泊金甲酯、乙酯和三氯生,并没有发现与新生儿出生不良情况的相关性。

如何看待Parabens的安全性问题?

长期以来,业界对Parabens的争议不断,其安全性一度备受质疑。讨论焦点集中在含Parabens成分的腋下化妆品改变内分泌(类似雌激素的作用)及致癌(乳癌)上。对此,SCCS(消费者安全科学委员会)已经作出了评价,证实对羟基苯甲酸甲酯和对羟基苯甲酸乙酯在最大允许浓度下是安全的。丙酯、丁酯各自浓度不超过0.19%也被认为是安全的。不过,SCCS也强调丙酯和丁酯的应用需要更多实验研究支持。

化妆品的配方是复杂的,配方中会存在很多供微生物生长的组分,防腐剂的使命就是阻止产品内微生物或阻止与产品反应的微生物生长,保护产品免受微生物污染,确保产品的安全性。任何一种防腐剂都是优缺点并存的 ,据美国FDA统计,化妆品使用的防腐剂和对防腐有贡献的制剂有130多种,使用频率较大的也有近50种,在使用频率最高的前10种防腐剂里还没有哪一种符合“理想化防腐剂”的条件。所以,对待parabens也应有理性的认知,不必视所有含Paraben的化妆品为洪水猛兽,只要添加量在允许范围内,都是安全的,当然,人类探索的脚步从未停止,相信更多新型防腐剂已经在开发的路上。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12073781.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存