- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
linux和unix编译调试-详细说明分析
linux和unix编译调试
详细说明
makefile的编写
make的介绍
make是一个自动编译工具,根据makefile的描述判断文件的依赖关系进行自动按顺序编译,同时也可以判断文档的变更情况,只编译相关的文件。
gmake是GNU make的缩写,一般linux自带这个工具,后面介绍的makefile也是居于gmake写的。
make与gmake的区别:
在linux中,make和gmake是同一个文件,通过软连接实现。
在其他版本的unix中,各种厂家有自己的make命令,要在其unix系统使用GNU make而不与原来的make命令冲突,所以命名为gmake。
下面介绍gmake的makefile写法,在AIX和HPUX上面编译,需要先安装gmake。
makefile常见变量定义
makefile中可定义变量,提供后面的代码访问。定义语法为“变量名称=变量值”,变量值可以位空,使用变量的语法为“$(变量名称)”。
变量名称可以根据需要自定义,一般会定义下面的变量。
CXX 编译器名称
CXXFLAGS 编译器选项
INLCUDE 包含头文件的有哪些信誉好的足球投注网站目录
LIBS 静态和动态库的有哪些信誉好的足球投注网站目录
LIB 链接的静态和动态库
SRC_PATH 源文件所在目录
SRCS 源文件(通常使用SRC_PATH变量通过函数产生,自动列举所有源文件)
OBJ_PATH 目标文件所在目录
OBJS 目标文件(通常使用SRCS 变量通过函数产生,自动列举所有目标文件)
TARGET 编译最终得到的文件,可以是动态、静态库,或者可执行文件。
伪目标
makefile编译命令中的目标(下一页有介绍)默认是文件,使用伪目标后,只是在显式请求时执行命令的名字,不有哪些信誉好的足球投注网站文件是否存在。
有两种理由需要使用PHONY 目标:避免和同名文件冲突,改善性能。
语法为“.PHONY:伪目标名称”,名称可以是多个,空格分开。
通常为定义某个动作集合为伪目标,去完成一件事情,例如编译某个程序、安装和清除。
例如某makefile可编译程序和安装。
通常定义伪目标all负责编译所需要的文件,伪目标install实现拷贝编译得到的文件拷贝到安装目录,伪目标clean负责清除编译产生的文件。
运行规则
规则部分真正执行代码的编译,这部分可分为多个规则。
结构包含目标文件、依赖文件、和执行的命令集合。
target_file: dependency_files
commands
target_file为目标文件,dependency_files为得到target_file所需要的文件,commands为命令集合(comands每行必须以tab键开始)。
1、当target_file不存在的时候,检查dependency_files是否存在,如果存在则执行commands,如果不存在,则检查其他命令的target_file是否包含这个文件,如果有,则先执行其他命令,再回来执行commands,如果其他不包含,就报错。
2、当target_file和dependency_files都存在,检查target_file是否比dependency_files新,否则需要执行commands。
指定文件编译
在makefile中穷举所有需要编译的文件。
自动化编译
在makefile中使用正则表达式,自动编译相关文件,添加删除源文件也无需修改makefile。
makefile中没有任何一个地方直接使用了源文件名的名称,很容易移植到其它项目,根据需要修改makefile中的CXXFLAGS 、INCLUDE 、LIBS 、LIB 和TARGET变量即可。
注意:这个makefile可以自动检查文件的依赖和文件的新旧判断是否需要重新编译,但是修改源文件,添加头文件的时候,这个makefile无法判断。这个时候需要clean一下重新编译。
函数
函数的调用语法
函数调用,很像变量的使用,也是以“$”来标识的,其语法如下:
“$( )“或是”${ }“。
字符串处理函数
1.$(subst FROM,TO,TEXT)
函数名称:字符串替换函数—subst。
函数功能:把字串“TEXT”中的“FROM”字符替换为“TO”。
返回值:替换后的新字符串。
2.$(patsubst PATTERN,REPLACEMENT,TEXT)
函数名称:模式替换函数—patsubst。
函数功能:有哪些信誉好的足球投注网站“TEXT”中以空格分开的单词,将符合模式“TATTERN”替换为“REPLACEMENT”。参数“PATTERN”中可以使用模式通配符“%”来代表一个单词中的若干字符。如果参数“REPLACEMENT”中也包含一个“%”,那么“REPLACEMENT”中
您可能关注的文档
最近下载
- 2025年上海市时事政治考试试卷带解析【必背】.docx VIP
- XX医院“十五五”发展规划(2026-2030).pdf VIP
- 人教版高中数学选择性必修一全套教材例题课后习题变式及答案解析.pdf VIP
- 家庭病床服务的风险管理与应急预案.docx
- 2021川藏铁路隧道施工安全监测技术规程 2021 83页.pdf VIP
- 2025年上海市时事政治考试试卷带解析(达标题).docx VIP
- 期中试题2024-2025学年人教精通版(2024)英语三年级上册(含答案).pdf VIP
- 酒店成本费用控制管理方法.pdf VIP
- 【演练脚本】触电事故应急救援演练方案含脚本.docx
- 哈萨克斯坦东方之门经济特区简介.ppt VIP
文档评论(0)