首页 > 编程语言 >DCC32命令行方式编译delphi工程源码

DCC32命令行方式编译delphi工程源码

时间:2023-05-19 14:14:50浏览次数:42  
标签:选项 文件 delphi MYSTUFF 编译 编译器 源码 命令行 DCC32

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

作者:苏生米沿

 一、首先找到这个可执行文件,熟悉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

等同于第一个例子。

 

下面就是具体的语法介绍, DCC32 [操作选项] 文件名称 [操作选项]

其中,选项 -A是指,给单元设置别名,这个选项目前一般不在使用,不过多介绍。

-B 编译所有的单元,这个肯定对于编译项目的时候是必选的,要不然,漏一个dcu就不能正常生成了呗,好理解。

-CC 指定编译目标,如果你写的是console程序,那么你就选这个,否则一般情况下,我们选择的是可视化编辑,就是 -CG

-CG 可理解,就是现在windows的可视化程序,不是CMD那样的dos程序。

-D 编译条件符号定义

-E 制定生成的EXE的路径,即可执行文件的输出地方

-F 是否关闭查找运行期间错误

-GD 生成详细的Map文件,map文件,不同于可二进制的可执行文件和.dcu文件,.map文件是一个可读的文本文件,可以被打印或是其它文本编辑器编辑

-GP 生成map的public字段

-GS 生成map的segment字段 一个.MAP文件被分成三个节:Segment 、 Publics 、Line Numbers

-H 输出提示信息

-I 文件包含路径 可用

-J 生成 .obj文件 不怎么使用
-JPHNE 生成C++的obj文件
--K 图片文件基址

-LE .bpl文件输出路径 常用
-LN .dcp文件输出路径 常用

-LU 使用的运行期列表

-M 编译有变化的单元

-NO 单元的dcu输出路径 常用

-NH 单元的.hpp输出路径
-O obj文件

-P 8.3文件格式(不懂)

-Q 安静模式 ?啥意思 选不选有啥区别,谁给个解释

-R资源文件(.res)路径

-V 生成debugger调试信息文件
————————————————

版权声明:本文为CSDN博主「苏生米沿」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sushengmiyan/article/details/10284879

标签:选项,文件,delphi,MYSTUFF,编译,编译器,源码,命令行,DCC32
From: https://www.cnblogs.com/lucken2000/p/17414906.html

相关文章

  • 2023最新OneTool多平台助手程序源码
    2023最新OneTool多平台助手程序源码开心可用版本:https://download.csdn.net/download/mo3408/87799108OneTool 是一款功能强大的多平台助手,目前最新版本为199911(1.9.1)。除此之外,该应用程序还拥有其他好玩的功能,等着您们来搭建测试。可以帮助用户快速完成各种任务。例如网......
  • 报表控件FastReport VCL v2023.2 - 将Delphi 产品整合到单一系统
    FastReport 是功能齐全的报表控件,可以帮助开发者可以快速并高效地为.NET,VCL,COM,ActiveX应用程序添加报表支持,由于其独特的编程原则,现在已经成为了Delphi平台最优秀的报表控件,支持将编程开发中的报表信息输出为TXT、PDF等多种文件格式,是编程开发人员必备的报表工具。FastReportVC......
  • Delphi GUI程序与FireMonkey教程
    首先,必须向原作者及译者表示最深的感谢,下面是下载地址:https://bbs.2ccc.com/attachments/2023/changfenglee_2023517104121.rar通过这本书,做为Delphi新老开发者,都能利用Delphi开发出跨平台的应用,笔者强列推荐! ......
  • APP中RN页面热更新流程-ReactNative源码分析
    平时使用WebStorm或VSCode对RN工程中的文件修改后,在键盘上按一下快捷cmd+s进行文件保存,此时当前调试的RN页面就会自动进行刷新,这是RN开发相比于原生开发一个很大的优点:热更新。那么,从按一下快捷cmd+s到RN页面展示出最新的JS页面,这个过程是怎样发生的呢?下面根据时间顺序来梳理一下......
  • Sentinel基本使用与源码分析
    系列文章目录和关于我一丶什么是SentinelSentinel官网Sentinel是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。流量整形:限制流......
  • delphi实现modbus通信
    -------------------------------------------------------------基础单元----start-----------------------------------------------------------------------------{********************************************************************}{*单元名称:UntM......
  • OneDelphi界面美化
    使用OneDelphi已经有一段时间了,中间件的功能很强大,主要特点:●oneDelphi由OneServer中间件,OneClient控件包组成,自由免费,全源码...●oneDelphi是一个MVC+传统DATASET双架构中间件...●oneFastClient是一个快速开发传统EXE的开发包。OneDelphi的官方QQ群:814696487主界面:优化UI......
  • 东邻到家小程序|东邻到家小程序源码|东邻到家小程序开发功能
    上门服务这几年已经越来越火爆,不论是家政、按摩、美甲等等都在不断的发展上门服务,这几年东邻到家小程序系统在不断的摸索阶段,对于系统各方面的需求也在不断提升,东郊到家小程序通过线上匹配用户和技师的需求,让人们可以更加容易的享受上门服务,下面小编就给大家介绍下东邻到家小程序系......
  • RocketMQ源码(三):服务端NameSrv启动流程
    有关Namesrv的概念及功能,详见RocketMQ(三):架构设计中技术架构组成namesrv,这里不再赘述。RocketMQ中Namesrv启动入口:org.apache.rocketmq.namesrv.NamesrvStartup。Namesrv启动,NamesrvStartup#main0()核心伪代码:1publicstaticNamesrvControllermain0(String[......
  • [钻芒美化] 在线解析视频VIP播放器安装源码,集成最新全能视频接口引流必备
    本文转载自:[钻芒美化]在线解析视频VIP播放器安装源码,集成最新全能视频接口引流必备更多内容请访问钻芒博客:https://www.zuanmang.net声明源程序源自网络。版权非博主所有!钻芒二开美化版集成姬长信最新API接口。基于DASH优化的P2P流媒体视频播放,支持:腾讯,爱奇艺,优酷,乐视,......