收藏 分销(赏)

uClinux源码中的make文件完全解析.doc

上传人:仙人****88 文档编号:8320387 上传时间:2025-02-09 格式:DOC 页数:2 大小:33KB 下载积分:10 金币
下载 相关 举报
uClinux源码中的make文件完全解析.doc_第1页
第1页 / 共2页
uClinux源码中的make文件完全解析.doc_第2页
第2页 / 共2页
本文档共2页,全文阅读请下载到手机保存,查看更方便
资源描述
向嵌入式平台移植软件的相关技术 字节顺序 大端:高字节数据存放在低地址处,低字节数据存放在高地址处; 小端:低字节数据存放在低地址处,高字节数据存放在高地址处。 字节对齐 Makefile中增加了编译参数 - -pack – struct;增加组包函数和拆包函数。其解决字节对齐的原理是,通过在发数据包处增加组包函数,使数据按CPU要求组织放在指定地址处,组成包发给下层,而后在收数据包处增加拆包函数,是收到的内存中的数据再按要求还原。 位段 采用条件编译方式,针对不同的平台定义顺序不同的位段; 也可在组包函数和拆包函数中加上位段处理。 代码优化 1, 提高代码执行效率,switch-case语句吧最可能发生的情况放在第一;使用全局变量比向函数传递参数更有效率。减少了函数调用前参数入栈及函数完成后参数出栈的操作; 2, 尽可能的减小代码尺寸,并避免试用标准库例程; 3, 避免内存泄露。 Make文件中的内容 Make文件包含五方面的内容:具体规则、隐含规则、变量定义、指令和注释。 具体规则 例举了目标的依赖,可能同时提供了创建或更新该目标的命令。 隐含规则 目标是由同名文件创建或更新,同时提供了创建更新该目标的命令。 变量定义 定义变量占一独立行。 指令 1, 读其他make文件; 2, 根据变量值判定是否使用或忽略make文件的部分内容; 3, 定义多行变量,即定义变量值可以包含多行字符的变量; 以“#”开始的行是注释行,在处理时被make忽略。若注释行尾是“\”,则表示下一行继续问注释行。除在define指令内部外,注释可以出现在make文件任何位置,甚至于命令内部(这里shell决定什么是注释内容)。 Make文件命名(P27) 在标准名字make文件中,make按GNUmakefile、makefile、Makefile顺序寻找make文件。Make文件一般命名为“makefile”或“Makefile”。若不存在,则不使用任何make文件。在非标准名字Make文件中,使用“-f name”或“- - file=name”指定make文件。参数若多于一个,则意味着指定了多个make文件,所有文件按具体顺序发生作用。一旦使用参数,则将不再自动检查标准顺序命名。 Make文件中包含其他make文件(P26) include指令指示暂停读取当前make文件,先读include指定的make文件。指令在make文件中单独占一行,格式为: include filenames … filenames是要包含和执行的文件名,可以是一个或者多个文件名。指令不能以Tab字符开头,include前面可以有多个空格,include与文件名之间,文件名与文件名之间用空格隔开。行尾以“#”为起始的注释。 另外,文件名可以包含变量及函数调用,在处理时由make扩展。 使用include的情况: 1, 几个程序分别有单独的make文件,但需要一系列共同的变量定义,或者一系列共同的格式规则; 2, 在自动的将文件设为目标产生的依赖时,依赖存在于核心make文件所包含的文件中。 在执行中,若include指示文件名不以“/”开头,且在当前目录下也找不到,则需在其他目录中寻找。首先,搜寻“-l”或“- -include-dir”参数指定的目录,然后依次搜寻prefix/include(通常为usr/local/include),usr/gnu/include,usr/local/include,usr/include目录。 若找不到相关文件,则make将产生一个警告。 NOTE: 一旦make完成对make文件的读取工作,就会对不存在的make文件进行创建。Make只在寻找丢失的make文件的一切努力均失败后,才发出致命错误。若希望忽略不存在或不能重新创建的make文件,则需使用-inlcude指令代替include指令。格式为: -include filenames … 在其他版本中,-include对应的指令为sinclude。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服