- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
delphi反编译:DELPHI定义的条件编译介绍
说明
疯狂代码 / ĵ http://Delphi/Article66671.html
经常看到些里面用到如
{$def win16},{$def win32}的类信息
可是这些好像并没有定义不知道在哪里可以找到这些条件编译定义或者是介绍说明具体讲述win16代表什么
WIN32代表什么VER140代表什么?
{$IFDEF WIN32} — 这可不是批注
对于Delphi来说﹐左右大括号的间内容是批注﹐然而「{$」
(左括号后紧接着货币符号)对于Compiler(编译器)而言并不是批注﹐
而是写给Compiler看特别指示
应用时机和场合
Delphi中有许许多多Compiler Directives(编译器指令)﹐
这些编译指令对于我们发展有何影响呢? 它们又能帮我们什么忙呢?
Compiler Directive 对开发影响和助益, 可以从以下几个方向来讨论
?协助除错
? 版本分类
?重用和管理
? 设定统执行环境
协助除错
稳健熟练设计师经常会在开发应用系统过程中﹐特别加入些除错或者回馈验算﹐这些除错对于软件Software品
质提升有极其正面功能然而开发完成正式版本中如果不需要这些额外话﹐要想在堆中找出哪些是除错用并加以
删除或设定为批注﹐不仅累人﹐而且容易出错﹐况且日后维护时这些除错还用得着此时如果能够应用像是
$IFDEFCompiler Directives ﹐就可以轻易指示Delphi要/不要将某段编进执行文件中同时﹐Compiler本身也
提供了些检查开关﹐可以预先对中可能问题提醒设计师注意﹐同样有助于撰写正确
版本分类
除了上述除错版本/正式版本分类的外﹐对于像是「试用版」「普及版」「专业版」版本分类﹐也可以经由
Compiler Directive使用﹐为最后产品设定区别使用权限其它诸如「中文版」「日文版」「国际标准版」等全
球版本管理方面﹐同样也可以视需要指示Delphi特别连结哪些资源档或者是采用哪些适当以上两则例子中﹐各
版本间只需共享同份代码即可
Delphi 1.0 和 Delphi 2.0有许多区别的处﹐组件资源文件(.DCR)即是其中例﹐两者档案格式并不兼容﹐在您读
过本文的后﹐相信可以写出这样﹐指示Delphi在区别版本采用适当资源文件以利于组件安装
{$IFDEF WIN32}
{$R XXX32.DCR}
{$ELSE}
{$R XXXX16.DCR}
{$EDNIF}
重用和管理
经过前文讨论后﹐相信你已经不难看出Compiler Directives在管理上应用价值对于原始重用和管理﹐也是
Compiler Directives 使得上力地方. 举例来说: Pascal-Style串是Delphi 1.0和 Delphi 2.0的间明显差异﹐除了
原先短串的外﹐
Delphi 2.0的后还多了更为方便使用长串﹐同时﹐系统也额外提供了像是 Trim这样串处理函式假如您有个串处
理单元必须要同时应用于Delphi 1.0 和2.0项目时﹐编译指示器可以帮你忙
此外﹐透过像是{$I xxxx} 这样 Compiler Directives﹐我们也可以适当含入某些, 同样有助于切割组合我们或编
译设定设定致执行环境项目小组成员间﹐必须有共同环境设定﹐我很难预料个小组成员间彼此有区别
{$B}{$H}{$X}设定﹐最后子系统在并入主时会发生什么事
此外, 当您写好个组件或单元需要交予第 3者使用时, 使用编译指示器也可以保证元件使用者和您有相同编译环
境
使用Compiler Directives
指令语法
Compiler Directives从外表看起来和批注颇为类似, 和批注区别是
Compiler Directives语法格式都是以「{$」开始, 不空格紧接个名称(或个字母)表明给Compiler特别指示, 再加
上其它开关或参数内容, 最后以右大括号作为指令结束, 例如
{$B+}
{$R-}
{$R MyCursor.res}
同时, 就如同Pascal变量名称和保留字样, Compiler Directives也是不区分大小写
从指令语法格式来说Compiler Directives﹐可以进步分类成以下 3种格式
?开关指令(Switch directives)
这类指令都是
您可能关注的文档
- 工程经济学第五篇.pdf
- C与C++招待所.doc
- 工程类科技英语的有效学习方法及翻译技巧分析.pdf
- C语结构体及联合体.ppt
- 工程力学第16篇(压杆稳定问题).ppt
- C语言(第7节函数).ppt
- C语言N08 编译预处理、位运算及文件 2学时+2学时.ppt
- C语言程序设计 第六章 函数 试题和答案.doc
- 工程制图第2篇点线面.ppt
- C语言程序设计 清华大学课件 第8篇 函数2.ppt
- GB/T 32151.38-2024温室气体排放核算与报告要求 第38 部分:水泥制品生产企业.pdf
- 中国国家标准 GB/T 32151.38-2024温室气体排放核算与报告要求 第38 部分:水泥制品生产企业.pdf
- 《GB/T 22069-2024燃气发动机驱动空调(热泵)机组》.pdf
- GB/T 22069-2024燃气发动机驱动空调(热泵)机组.pdf
- 中国国家标准 GB/T 22069-2024燃气发动机驱动空调(热泵)机组.pdf
- 中国国家标准 GB/T 11064.1-2024碳酸锂、单水氢氧化锂、氯化锂化学分析方法 第1部分: 碳酸锂含量的测定 滴定法.pdf
- GB/T 11064.1-2024碳酸锂、单水氢氧化锂、氯化锂化学分析方法 第1部分: 碳酸锂含量的测定 滴定法.pdf
- 《GB/T 11064.1-2024碳酸锂、单水氢氧化锂、氯化锂化学分析方法 第1部分: 碳酸锂含量的测定 滴定法》.pdf
- GB/T 1148-2024内燃机 铝活塞.pdf
- 中国国家标准 GB/T 1148-2024内燃机 铝活塞.pdf
文档评论(0)