在delphi歷次版本中,$[delphi]/bin下提供了dcc32.exe程序,它是delphi的編譯器指令,IDE中也是調用它來執行編譯的。
它的編譯器參數如下:
选项 描述
Aunit=alias 设置单元别名
B 编译所有单元
CC 编译控制台程序
CG 编译图形界面程序
Ddefines 编译条件符号定义
Epath 可执行文件输出路径
Foffset 查找运行期间错误
GD 生成完整.Map文件
GP 生成.Map文件Public段
GS 生成.Map文件Segment段
H 输出提示信息
Ipaths 文件包含路径
J 生成.Obj目标文件
JP 生成C++类型.Obj目标文件
Kaddress Set image base address
LEpath 包.BPL文件输出路径
LNpath .dcp文件输出路径
LUpackage 使用运行期间包列表
M 编译有改动的源文件
Npath dcu/dpu文件输出目录
Opaths .Obj文件(汇编目标代码文件)路径
P 按8.3格式文件名查找
Q 安静模式
Rpaths 资源文件(.RES)路径
TXext 目标文件扩展名
Upaths 单元文件路径
V 为Turbo Debugger生成调试信息文件
VN 以.Giant格式生成包含命名空间的调试信息文件(将用于C++Builder)
VR 生成调试信息文件.rsm
W 输出警告信息
Z Disable implicit compilation
$directive Compiler directives
--Help 显示编译选项的帮助。同样的,如果你在命令行单独输入dcc32,也会显示编译选项的帮助。
--version 显示产品名称和版本
一般情況下,需要指定的參數有O,I,R,U;N,LE,LN,E. 其中前四項是多值項;後四項是單值項,即只能指定一下目錄,且E在exe項目中指定,LE,LN在包文件中指定。
除了在dcc32指令後指定參數外,從外部文件指定也同樣有效,它的規則如下:
1. 在$(delphi)/bin/dcc32.cfg文件寫入搜索路徑,但不適合指定輸出目錄。這樣任何編譯的項目都會默認將其中指定的搜索路徑續接在巳有路徑後。
2.在當前目錄下的dcc32.cfg文件寫入上面的參數,在指定輸出參數時,它的優先級高於第1項中的設置.
3.在項目文件自身的cfg文件中指定, 其中的參數優先級高於前兩項。
4.在dcc32指令後直接指定。它在優先級最高。
它的編譯器參數如下:
选项 描述
Aunit=alias 设置单元别名
B 编译所有单元
CC 编译控制台程序
CG 编译图形界面程序
Ddefines 编译条件符号定义
Epath 可执行文件输出路径
Foffset 查找运行期间错误
GD 生成完整.Map文件
GP 生成.Map文件Public段
GS 生成.Map文件Segment段
H 输出提示信息
Ipaths 文件包含路径
J 生成.Obj目标文件
JP 生成C++类型.Obj目标文件
Kaddress Set image base address
LEpath 包.BPL文件输出路径
LNpath .dcp文件输出路径
LUpackage 使用运行期间包列表
M 编译有改动的源文件
Npath dcu/dpu文件输出目录
Opaths .Obj文件(汇编目标代码文件)路径
P 按8.3格式文件名查找
Q 安静模式
Rpaths 资源文件(.RES)路径
TXext 目标文件扩展名
Upaths 单元文件路径
V 为Turbo Debugger生成调试信息文件
VN 以.Giant格式生成包含命名空间的调试信息文件(将用于C++Builder)
VR 生成调试信息文件.rsm
W 输出警告信息
Z Disable implicit compilation
$directive Compiler directives
--Help 显示编译选项的帮助。同样的,如果你在命令行单独输入dcc32,也会显示编译选项的帮助。
--version 显示产品名称和版本
一般情況下,需要指定的參數有O,I,R,U;N,LE,LN,E. 其中前四項是多值項;後四項是單值項,即只能指定一下目錄,且E在exe項目中指定,LE,LN在包文件中指定。
除了在dcc32指令後指定參數外,從外部文件指定也同樣有效,它的規則如下:
1. 在$(delphi)/bin/dcc32.cfg文件寫入搜索路徑,但不適合指定輸出目錄。這樣任何編譯的項目都會默認將其中指定的搜索路徑續接在巳有路徑後。
2.在當前目錄下的dcc32.cfg文件寫入上面的參數,在指定輸出參數時,它的優先級高於第1項中的設置.
3.在項目文件自身的cfg文件中指定, 其中的參數優先級高於前兩項。
4.在dcc32指令後直接指定。它在優先級最高。
以下是正在使用的dcc32.cfg文件的內容
/B
/Z
/Q
/$D-
/Z
/Q
/$D-
/AWinTypes=Windows;WinProcs=Windows;DbiProcs=BDE;DbiTypes=BDE;DbiErrs=BDE
/O"c:/Program Files/Winsoft/SimpleMAPI Component Suite/Delphi7/";"C:/Program Files/Borland/Delphi7//Lib";"C:/Program Files/Borland/Delphi7//Bin";"C:/Program Files/Borland/Delphi7//Imports";"C:/Program Files/Borland/Delphi7/Projects/Bpl";"C:/WERP/dcu";"C:/WERP/bin"
/O"c:/Program Files/Winsoft/SimpleMAPI Component Suite/Delphi7/";"C:/Program Files/Borland/Delphi7//Lib";"C:/Program Files/Borland/Delphi7//Bin";"C:/Program Files/Borland/Delphi7//Imports";"C:/Program Files/Borland/Delphi7/Projects/Bpl";"C:/WERP/dcu";"C:/WERP/bin"
/I"c:/Program Files/Winsoft/SimpleMAPI Component Suite/Delphi7/";"C:/Program Files/Borland/Delphi7//Lib";"C:/Program Files/Borland/Delphi7//Bin";"C:/Program Files/Borland/Delphi7//Imports";"C:/Program Files/Borland/Delphi7/Projects/Bpl";"C:/WERP/dcu";"C:/WERP/bin"
/u"c:/Program Files/Winsoft/SimpleMAPI Component Suite/Delphi7/";"C:/Program Files/Borland/Delphi7//Lib";"C:/Program Files/Borland/Delphi7//Bin";"C:/Program Files/Borland/Delphi7//Imports";"C:/Program Files/Borland/Delphi7/Projects/Bpl";"C:/WERP/dcu";"C:/WERP/bin"
/R"c:/Program Files/Winsoft/SimpleMAPI Component Suite/Delphi7/";"C:/Program Files/Borland/Delphi7//Lib";"C:/Program Files/Borland/Delphi7//Bin";"C:/Program Files/Borland/Delphi7//Imports";"C:/Program Files/Borland/Delphi7/Projects/Bpl";"C:/WERP/dcu";"C:/WERP/bin"
接著可以用以下指令編譯一個程序
dcc32 -eC:/BIN -UC:/DCU c:/project1.dpr