博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Delphi编译/链接过程
阅读量:4319 次
发布时间:2019-06-06

本文共 1510 字,大约阅读时间需要 5 分钟。

下面展示了Delphi是怎样编译源文件,并且把它们链接起来,最终形成可执行文件。

当Delphi编译项目(Project)时,将编译项目源文件、窗体单元和其他相关单元,在这个过程中将会发生好几件事情:

首先,Object Pascal编译器把项目单元编译为二进制对象文件,然后资源编辑器将把诸如程序图标、窗体文件等资源编译成二进制资源文件,接着链接开始起作用;链接器根据编译器产生的二进制文件,依项目需要增加一些库文件,并把这些文件综合在一起产生最终的可执行文件。

 

编译、创建和链接

每当点击Run按钮时,Delphi都会编译和链接程序,但它只编译改动过的单元。Delphi能知道哪个个文件已改动,哪个文件没有改到。

绝大部分时间中,我们都想看一看改变后的程序运行结果,在这种情况下,就需要点击Run按钮,程序将被编译、链接和执行。但有时候可能不想运行程序,比如只想编译程序,看一看有没有什么错误。

当默认创建一个Application时(工程文件名DRP默认为Project1),在Delphi的主菜单Project下,则有以下几个菜单选项:

1、Syntax check Project1 选项,它能让Delphi编译工程,并且报出任何错误和警告,这时检查代码错误最快的方法,Delphi只编译工程,而不执行链接,Syntax check选项的目的就是尽快检查代码的语法错误,因为链接阶段需要占额外的时间,Syntax check忽略了这一步。界面如下:

2、Compile Project1 选项,就像Syntax check一样,它用来编译从最近一次编译后改动过的任何单元。它需要执行链接,因此比Syntax check 选项所占的时间稍长一点,当需要只编译和链接程序而不运行时就可以用Compile 选项。界面如下:

默认情况下,该Compile选项不会显示编译状态对话框,通过主菜单【Tools | Environment Option】对话框中打开“Preferences”选项卡,在Compiling and running组合框中勾选“Show compiler progress”选项即可打开编译状态对话框,如下:

Delphi编译工程的速度非常快,故一般不需要编译状态对话框,实际上,编译状态对话框增加了编译时间,因为编译状态对话框中显示信息是占用时间的。

3、Build project1 选项,占的时间最长,这个选项编译工程中的每一个单元,不管这个单元是否有改动,当编译完所有单元后,Delphi链接整个工程,并生成Project1.exe可执行文件。

不管选择哪种方式编译工程,如果发现了错误,Code Editor 将会出现在顶级窗口,并且Code Editor 底部的信息窗口将会显示错误和警告清单。Code Editor 会把第一处出错的代码行加亮,当成功进行语法检查、编译、链接和创建后,就可以通过选择Run按钮来运行程序。

编译并建立其他Delphi程序

在Delphi中,大部分情况都是编写基于VCL的应用程序。但有时也要编写其他类型的应用程序。点击主菜单【File | New | Other..】可以看到Delphi支持的其他类型应用程序,如下:

DLL Wizard,将创建动态链接库(DLL)

Console Application,Win32控制台应用程序是一种32位程序,它在Windows的DOS模式下运行。任何不需要图形接口的应用程序基本上都适合控制台应用程序。

转载于:https://www.cnblogs.com/ziliudi/p/4192215.html

你可能感兴趣的文章
玩转CSS3,嗨翻WEB前端,CSS3伪类元素详解/深入浅出[原创][5+3时代]
查看>>
iOS 9音频应用播放音频之播放控制暂停停止前进后退的设置
查看>>
Delphi消息小记
查看>>
HNOI2016
查看>>
JVM介绍
查看>>
将PHP数组输出为HTML表格
查看>>
Java中的线程Thread方法之---suspend()和resume() 分类: ...
查看>>
经典排序算法回顾:选择排序,快速排序
查看>>
BZOJ2213 [Poi2011]Difference 【乱搞】
查看>>
c# 对加密的MP4文件进行解密
查看>>
AOP面向切面编程C#实例
查看>>
访问修饰符、封装、继承
查看>>
更换pip源到国内镜像,提升pip下载速度.
查看>>
Kendo MVVM 数据绑定(七) Invisible/Visible
查看>>
插入返回ibatis 的selectKey 实现插入数据后获得id
查看>>
解决win7下打开Excel2007,报“向程序发送命令时出现问题”的错误
查看>>
Win form碎知识点
查看>>
避免使用不必要的浮动
查看>>
第一节:ASP.NET开发环境配置
查看>>
sqlserver database常用命令
查看>>