- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DELPHI的原子世界的
第一章 DELPHI 的原子世界
“天苍苍,野茫茫,风吹草低见牛羊”
在使用 DELPHI 开发应用软件的过程中,我们就像草原上一群快乐牛羊,无忧无虑地
享受着Object Pascal 语言为我们带来的温暖阳光和各种 VCL 控件提供的丰富水草。抬头望
望无边无际蔚蓝的天空,低头品尝大地上茂密的青草,谁会去想天有多高?地有多大?阳光
和水草又是从何而来?那是大师关心的事。而大师此时正坐在高高的山顶上,仰望宇宙星云
变换,凝视地上小虫的爬行。蓦然回头,对我们这群吃草的牛羊点头微笑。随手扯起一根小
草,轻轻地含在嘴里,闭上眼睛细细品尝。不知道这根青草在大师的嘴里是什么味道?只是,
他的脸上一直带着满意的微笑。
第一节 System
不经意,偶然打开了System.pas 的原程序文件,却发现这里竟是一个既熟悉又陌生的世
界。在这里有我们熟知的东东,如:TObject、TClass 、GUID、IUnknown 、IDispatch … … 但
这些东西也是我们所陌生的。在茫茫编程生涯中,我们不断地与这些东东打交道,都已经熟
悉得宛如自己身体的一部分。但真想要去了解他们,也就人象想要了解自身一样的茫然。
在 System.pas 单元的开头,有这样一段醒目的注释文本:
{ Predefined constants, types, procedures, }
{ and functions (such as True, Integer, or }
{ Writeln) do not have actual declarations.}
{ Instead they are built into the compiler }
{ and are treated as if they were declared }
{ at the beginning of the System unit. }
这段话的意思是说:“这一单元包含预定义的常量、类型、过程和函数 (诸如:Ture、
Integer 或Writeln ),它们并没有实际的声明,而是编译器内置的,并在编译的开始就被认为
是已经声明的定义”。
System 单元不同于别的单元。你可以将 Classes.pas 或Windows.pas 等其他DELPHI 源
程序文件加入你的项目文件中进行编译,并在源代码基础上调试这些单元。但你绝对无法将
System.pas 源程序文件加入到你的项目文件中编译!DELPHI 将报告“重复定义了 System 单
元”的编译错误。
任何DELPHI 的目标程序中,都自动包含System 单元中的代码,哪怕你的程序一句代
码也没写。看看下面的程序:
program Nothing;
begin
end.
这个程序用DELPHI 6 编译之后有 8K,用DELPHI 5 编译之后有16K。而使用过C 语
言的朋友都知道,最简单的 C 语言程序编译之后是非常短小的,有的不到 1K。但DELPHI
不是的。
这个什么也不做的程序怎么会有8K 或 16K 的长度呢?这是因为其含有 System 单元的
代码。虽然这些代码没有C 或C++语言的启动代码那样短小精悍,但里面却包含支撑整座
DELPHI 大厦的基石,是很牢靠的。
在DELPHI6 中,Borland 为了兼容其在Linux 下的旗舰产品Kylix ,进一步精简了System
单元的基础程序,将一部分与 Windows 系统相关的内容移到了别的单元。所以,上面最简
单的程序经过DELPHI6 编译生成的目标程序就比DELPHI5 生成的小的多。其实,DELPHI
6 中的System.pas 单元有一万八千多行源程序,比DELPHI 5 的多得多。这是因为在DELPHI6
的那些支持Kylix 的单元中,有些代码同时写了两个版本,一个支持Windows ,一个支持
Linux,并在编译宏命令的控制下生成各自操作系统的目标程序。Borland 完成这些程序改写
之后,就有可能将DELPHI 编写的程序移植到Kylix 上。按照Borland 提供的某些原则编写
的DELPHI 程序可以不用修改直接在Kylix 上编译,并在LINUX 系统上运行。这对需要进
行跨平台开发的程序员来说无疑是个福音。目前,在真编译的可视开发工具中,DELPHI 6
和Kylix 恐怕是
您可能关注的文档
- chapter9 Retained 的Earnings.ppt
- chapter6总线系统的.ppt
- chapter_3(1-8)的.ppt
- char03-外存-硬盘的.ppt
- China English的.ppt
- chp03语句和流程控值钠.ppt
- chp05_颜色的度量体的系.ppt
- chp4存储器-2的.ppt
- chp6作业答案的.ppt
- chp4存储器-1的.ppt
- 高层住宅楼土方回填专项施工方案 .pdf
- 食品公司财务管理制度(范本) .pdf
- (八省联考)2024年云南省新高考综合改革适应性演练数学试卷带解析带答案(典型题).docx
- 风险管理公式汇总 .pdf
- 四川省内江市威远中学校2024-2025学年高一下学期期中考试历史试卷(含答案).docx
- 2025届湖南省娄底市高三下学期4月教学质量检测政治试题.docx
- 安徽省皖南八校2024-2025学年高一下学期4月期中考试政治试题(含答案).docx
- 【政治+答题】2025届江苏省新高考基地学校高三下学期第二次大联考政治试题-A4答案卷尾.pdf
- 湖南省娄底市2025届高三下学期第二次模拟考试政治试卷(含答案).docx
- 安徽省皖南八校2024-2025学年高一下学期4月期中生物(甲)试题(扫描版,含答案).pdf
文档评论(0)