本文链接地址:http://blog.csdn.net/sushengmiyan/article/details/10284879

作者:苏生米沿

Borland出品的Delphi,在TIOBE公布的2013年8月份编程语言排行榜中已经下降到14名。虽然排名下降,但是仍可以看出,使用delphi进行编程的还是大有人在,delphi现在确实有点落伍,加上borland公司的落没,尤其是对网络的支持不足,delphi目前的处境还是可以接受的,但同样不可否认的是,delphi在快速界面应用程序开发中还是有着不可比拟的优势,或许这就是为什么其还能具有这么强大生命力的原因吧。好了,废话不多说。开始进入主题:DCC32编译程序。

通常情况下,我们使用delphi IDE就可以直接编译程序,不需要使用DCC32命令行方式来编译,不过,当项目发展到一定规模的时候,或者当你厌倦了大项目中IDE蜗牛般的编译速度的时候,你可能就会有这样的想法:能不能写段代码,然后运行这段代码或者脚本,那项目就自己编译好了。嗯,如果你有这样的想法了,那这篇文章就很符合你的口味。

一、首先找到这个可执行文件,熟悉delphi的人应该很容易就找到,打开你安装delphi的目录,如我的路径C:\Program Files\Delphi_2007\bin\DCC32.EXE

二、拷贝一份出来,我将其放在了我的测试目录下 :  F:\Src\QMsg\Build

三、现在就可以测试这个命令了。使用windows的cmd命令,切换到当前DCC32所在的目录,先输入 f:切换到F盘,然后输入 cd F:\Src\QMsg\Build

切换到DCC32所在目录,然后输入DCC32命令,如下图:

当你出现这个界面,说明你已经成功调用DCC32命令了。然后下面是搜集的一些编译指令和命令。大家感兴趣的话可以去手动写代码然后编译试试,这里就不详细写了哦。

Delphi’s命令行编译器(dcc32.exe)允许你从DOS命令行方式(参照:IDE命令行选项)实现IDE编译器(delphi32.exe)的所有功能。用DOS命令运行命令行编译器语法如下:

dcc32 [选项] [文件名] [选项]

零或多个参数给编译器提供信息,文件名指定需要编译的源文件名。如果你单独输入dcc32,它会显示一个关于命令行编译的选项和语法的屏幕。

如果文件名没有扩展名,命令行编译器会查找扩展名为.dpr的同名文件,如果找不到,则查找扩展名为.pas的同名文件。如果你的源文件确实没有扩展名,你需要在文件名的末尾添加(.)。

如果指定的源文件是一个工程文件,编译器会创建一个扩展名为.EXE的同名可执行文件。如果指定的源文件是一个库文件,编译器创建一个扩展名为.DLL的同名动态链接库文件。如果指定的源文件是一个包文件,编译器会创建一个扩展名为.BPL的同名包。如果指定的源文件是一个单元文件,编译器会创建一个扩展名为.dcu的目标代码文件。

你可以为命令行编译器指定多个参数。一个参数包含一个破折号“-”(或“/”)和紧跟着的一个选项字符构成。通常情况下,选项字符后面会跟一些附加的信息,如一个数字、一个符号、一个目录等。选项可以是任意顺序并且可以在源文件名前面或后面。

同样,Delphi支持用编译器指令关键字描述的编译器指令。使用“$”和“D”命令行选项可以改变所有的默认编译器状态。用“$”和“D”命令行选项等同于在源文件的前面添加编译器指令。

编译器指令选项开关

“$”允许你改变每一种编译器指令默认状态。编译器指令的语法是“$”后紧跟一个指令字符,再跟一个“-”或“+”。例如:

dcc32 MYSTUFF-$R-

不使用边界检查编译MYSTUFF.pas单元:

dcc32 MYSTUFF-$R+

使用界面检查编译MYSTUFF.pas单元。如果将编译器指令{$R+}或{$R-}添加到源文件的开始,它将覆盖从命令行传入的参数。

你可以用多个“$”来指定多个编译器指令,如:

dcc32 MYSTUFF-$R--$I--$V--$U+

命令行编译器允许作用逗号分隔的编译器指定列表,如:

dcc32 MYSTUFF-$R-,I-,V-,U+

只需要用一个“$”符号。

注意,因为$M的格式不一样,你不能在逗号分隔的指令列表中使用$M

条件编译选项

“-D”选项允许你定义一个编译条件,符合你用{$DEFINEsymbol}定义的编译器指令。“-D”选项后必须跟随一或多个用分号分隔的编译条件符号,如下命令:

dcc32 MYSTUFF-DIOCHECK;DEBUG;LIST

定义了三个编译条件符号:IOCHECK,DEBUG,LIST,用于MYSTUFF.pas单元中。这等同于在源文件中插入以下语句:

{$DEFINEIOCHECK}

{$DEFINE DEBUG}

{$DEFINE LIST}

如果你指定了多个“-D”选项,你可以联接它们,如下:

dcc32 MYSTUFF-DIOCHECK-DDEBUG-DLIST

等同于第一个例子。

delphi DCC32命令行方式编译delphi工程源码相关推荐

  1. VS下如何配置才能使用 cl 命令行方式编译 C/C++ 程序

    在 VS 环境中,我们可以顺利的编译.生成程序.究其原因,是因为 VS 的 IDE 本身已经配置好了编译程序所需的 executable file , include files 和 library ...

  2. FPGA图像处理HLS实现RGB转灰度,提供HLS工程和vivado工程源码

    目录 一.图像RGB转灰度原理 二.HLS方案实现 三.HLS在线仿真并导出IP 四.Kintex7开发板vivado工程验证 五.zynq7100开发板vivado工程验证 六.板级调试验证 七.福 ...

  3. android.mk 添加v7_在Android上以命令行方式移植FFmpeg

    最近要做视频I帧提取和摘要生成的项目,在Android平台上的应用,经过调研,发现ffmpeg有很多相关功能的轮子,因此考虑将ffmpeg移植到Android平台.为了更好解耦和以及更多的文档参考,选 ...

  4. ECS(Linux)连接RDS,使用命令行方式连接实例

    使用命令行方式连接实例 通过命令行连接RDS MySQL数据库,连接方式如下: mysql -h<连接地址> -P<端口> -u<用户名> -p -D<数据库 ...

  5. 如何使用cmd进入打印机选项_怎样用命令行方式添加打印机端口? (已解决)

    命令行方式添加打印机是比较简单的,现在我的问题是这样的, 有一台网络打印机,用下面附录的方式安装驱动程序是没有问题的, 一个DOS命令就可以搞定,但是需要创建一个TCP/IP 的端口,即不是 用的LP ...

  6. centos oracle命令,CentOS7命令行方式搭建Oracle11gR2

    CentOS7命令行方式搭建Oracle11gR2 CentOS7命令行方式搭建Oracle11gR2 准备工作 vim /etc/selinux/config SELINUX=disabled sy ...

  7. mysql命令行方式添加用户及设置权限

    以前总是喜欢通过phpmyadmin去添加用户和数据库,这次装完系统后,配置了一大堆东东,实在不想安装phpmyadmin了,就通过命令行方式创建了数据库和设置权限,记录一下,免得以后总是百度 关键步 ...

  8. shp2sde命令行方式向arcsde批量导入数据脚本的生成步骤

    shp2sde命令行方式向arcsde批量导入数据脚本的生成步骤  作者:半块点心  出处:GIS动力站原 1.在dos提示符下执行: FOR /F "eol=; tokens=1,2,3, ...

  9. jmeter远程启动命令_Jmeter命令行方式启动

    在性能测试过程中,我们常常遇到这样的问题,使用Jmeter的GUI界面进行大并发量的性能测试时,界面容易卡死,无法继续进行性能测试.通过使用命令行方式启动jmeter是一个不错的方式.下面就简单介绍一 ...

最新文章

  1. 使用Troll对ARM Cortex-M处理器进行系统内核调试
  2. word2vec原理浅析
  3. 存钱吃利息存邮政储蓄好还是农业银行好?
  4. editplus保存时自动创建备份文件设置关闭
  5. Very Deep Convolutional Networks for Large-scale Image Recognition(vggnet)
  6. Timer类 和 TimerTask类。一种有用计时器工具。可以每隔相同时间去执行某任务一次。
  7. Windows学习总结(19)——Windows必备神器Cmder使用教程
  8. python的追加_Python追加添加相同的数据
  9. 微型计算机主要特点,微型计算机数字控制的主要特点.ppt
  10. 百度贴吧界面html程序代码,如何把自己的网址转换为百度贴吧网址?
  11. 163邮箱链接服务器失败是怎么回事,outlook邮箱添加163邮箱账户失败该怎么办?...
  12. php中英文逗号分号转换等
  13. 图像超分辨率重建原理学习
  14. 中值定理5-泰勒中值定理
  15. YYC优雅草松鼠聚合直播系统·前端视频模块显示空白-解决办法-视频上传处理方法
  16. 大O、小o、大Ω、小ω、大Θ符号在算法中是什么意思?
  17. 鸟哥linux视频教程密码,[鸟哥linux视频教程整理]04_01_Linux用户管理命令详解
  18. 计算机知识产权查询,如何查询版权登记、计算机软件著作权登记?
  19. JSON转换JAVA对象
  20. pytorch 层标准化 LayerNorm 的用法

热门文章

  1. 源码多多-Discuz x2.5 论坛防灌水机制分析和设置方法
  2. 评高级用计算机合格证吗,副教授评审什么情况下可以免计算机合格证
  3. 惠民“大数据”强化共享发展
  4. vbs:模拟键盘操作和在指定窗口进行操作
  5. 《全栈技术资料》你值得拥有 | 寻找C站宝藏
  6. ImageView组件的应用:图片浏览器
  7. 《趣弹幕-滚动LED显示屏-技术支持》
  8. We Can't Subsidize The Banks Forever
  9. Java程序员常用开发工具
  10. HackTheBox——Beep