DelphiXE环境认知(第一章 Project Options)

简介: DelphiXE环境认知作者:帅宏军 时间:2011年4月 说明:根据DelphiXE的自带帮助翻译而来,为作者个人看法,如有翻译不当,仅供参考。

DelphiXE环境认知

作者:帅宏军

时间:2011年4月

说明:根据DelphiXE的自带帮助翻译而来,为作者个人看法,如有翻译不当,仅供参考。

shuaihj@163.com

http://blog.csdn.net/shuaihj

第一章、 Project Options

Ø Project > Options

这个页面用来设置当前项目的Delphi编译器选项。Default勾选后可将当前的配置作为新工程的默认配置。

说明: 并不是这里所有的选项适用于所有类型的项目。例如,DCP output directory不会出现在C + +项目中。

一、 Delphi Compiler

Ø Project > Options > Delphi Compiler

clip_image002

1. Conditional defines

指定在条件编译指令中引用的符号,用;分隔,点击 clip_image003打开符号定义对话框.

这里定义了DEBUG,下面的代码将执行_部分语句

procedure TForm1.FormCreate(Sender: TObject);

begin

{$IFDEF DEBUG}

ShowMessage('Debug');

{$ENDIF}

end;

可通过切换Build Configuration来得到不同的编译变量。

2. DCP output directory

指定.dcp文件存放的路径,如果为空,则使用Tools > Options > Environment Options > Delphi Options > Library页中的DCP output directory 指定的全局路径替代.

3. Default Namespace

指定工程中所有单元文件使用的默认命名空间。

4. Namespace prefixes

指定命名空间的前缀,可以让你使用一个命名空间时使用一个速记的命名空间。

例如:Embarcadero.Vcl.DB, 你可以指定Embarcadero.Vcl 作为namespace prefix。这样,你可以简单的在引用时,使用uses DB,而不必uses Embarcadero.Vcl.DB

5. Output directory

指定编译后,可执行文件的存放路径。

6. Package output directory

指定编译后,bpl文件的存放路径。

7. Search path

指定源文件的位置。只有在compiler search pathlibrary search path中列举的文件,才能参与到Build过程中,在Build过程中,如果某个文件在上面两个路径中找不到,将提示一个编译错误。你必须指定完整路径,多个路径可以用分号隔开。分号前后可加空格,也可不加。使用相对路径和绝对路径都可以。

8. Unit aliases

有用的向后兼容性。为那些已经更改名称或者合并的单元指定别名。格式如下:

=

例如: Forms=Xforms

用分号分隔多个别名。

Delphi默认WinTypes=Windows;WinProcs=Windows.Default.

9. Unit output directory

指定一个单独存放.dcu文件的路径。

二、 Compiling

Ø Project > Options > Delphi Compiler > Compiling

clip_image005

1. Code Generation Options

clip_image007

1.1. Code inlining control

设置或清除Delphi编译器指令{$INLINE }Default = off.

1.2. Code page

输入您的应用程序的语言代码页,如1252。代码页是一个十进制数,表示一个特定的字符编码表,并有各种语言的标准值。Default = 0

1.3. Emit runtime type information

控制生成运行时类型信息{$M}Default = False

1.4. Minimum enum size

指定为枚举类型分配的最小内存。选择一个字节{$ Z1},双字节{$ Z2},四字节{$ Z4}

Default = Byte

1.5. Optimization

控制代码的优化。启用时(相当于{ $ O +}),编译器执行代码的优化,如放置在CPU寄存器的变量,消除常见的子表达式,并产生感应变量。禁用时(相当于{$ O-}),所有这些优化被禁用。除了某些调试的情况下,你永远不应该把优化关闭。由Delphi编译器执行的所有优化保证不会改变一个程序的意义。换句话说,编译器不执行“不安全“的需要程序员特别注意的优化。这是一个全局设置,不能只针对某些具体代码行单独设置。Default = False

1.6. Pentium-safe FDIV

控制生成浮点代码,针对某些早期的Pentium处理器表现出的有缺陷的FDIV指令设置保护。Windows 95, Windows NT 3.51, 和以后版本的 Windows 系统自身已经包含了纠正这个问题的代码。当启用(相当于编译器指令{$U+}),所有浮点除法都用一个运行时库例程执行。第一次浮点除法例程被调用时,它会检查是否处理器的FDIV指令工作正常,并更新相应的TestFDIV变量(在System单元声明)。对于后续的浮点除法运算,在TestFDIV中存储的值用于确定采取何种行动:

-1: FDIV指令已经过测试,发现是有缺陷的。

0: FDIV指令尚未经过测试

1: FDIV指令已经过测试,发现是正确的

对于没有表现出FDIV漏洞的处理器,启用此选项,只导致很小的性能下降;在启用状态下,对于一个有缺陷的奔腾处理器,浮点除法运算可能需要多于三倍的时间,但总能产生正确的结果。在禁用(相当于{$ U-})状态下,浮点除法运算都是用内联FDIV指令。这会得到优化的效率和代码尺寸,但可能会在有缺陷的奔腾处理器上产生不正确的结果。只有当你可以确定不在有缺陷的奔腾处理器上运行时,才使用禁用状态。Default = False

1.7. Record field alignment

控制记录类型和类结构中的域变量对齐。

如果选择 Off ({$A0} 或者disable ({$A-}) 域变量不对齐,为packaged模式: 根据实际大小分配内存.

如果选择Byte ({$A1}),域变量向字节对齐;如果选择 Word ({$A2}),域变量向双字节对齐;如果选择Double Word ({$A4}),域变量向四字节对齐;如果选择Quad Word ({$A8})({$A+}) 域变量向八字节对齐,这是最快的,也是默认值。

1.8. Stack frames

控制过程和函数的堆栈的生成。当启用({$W+})时,即使过程和函数不需要,堆栈也总是生成。当禁用时({$W-}),堆栈只在需要的时候生成,根据常规的局部变量的使用而决定。一些调试工具需要所有过程和函数的堆栈的生成,除此之外,你不要开启此项。Default = False

2. Debugging Options

clip_image009

2.1. Assertions

启用或禁用代码源文件中生成的断言。默认启用该选项(相当于{$C +})。断言通常不用于产品的发布版本。

2.2. Debug information

调试信息包括为连续的过程的行号表,映射目标代码地址到源文件行号。对于Units,调试信息和目标代码一起被记录在单元文件中。调试信息增加单元文件的大小,并占用额外的内存,但不影响可执行程序的大小和速度。当一个程序或单元启用此选项编译({$ D+}),集成调试器可让您单步,并在该模块中设置断点。

这两个选项debug information Map file (Project>Linking)启用时,编译时生成完整的行信息。这个选项通常和Local symbols 选项({$L})一起使用, 用来控制局部符号调试信息的生成。

2.3. Local symbols

启用或禁用局部符号信息的产生。

局部符号信息由模块中的局部变量和常量的名称和类型组成,即模块的implementation 部分中的符号和proceduresfunctions中的符号。对于Units,调试信息和目标代码一起被记录在单元文件中。局部符号信息增加单元文件的大小,并占用额外的内存,但不影响可执行程序的大小和速度。开启这个选项({$L+}),集成调试器可让您检查和修改模块局部变量。

此外,调用该模块的proceduresfunctions可以通过在View | Call Stack来检查。这个选项通常和Debug information 选项({$D+})一起使用, 用来调试行号信息表的生成。如果Debug information被禁用,此选项将被忽略。

2.4. Symbol Reference info

在代码编辑器和工程管理器中,用来生成符号引用信息。对应{$Y}。如果参考信息和定义都检查({$YD}),编译器记录符号的定义位置信息。如果参考信息被检查,定义不检查({$Y+}),编译器记录符号的定义位置和使用位置信息。除非Debug information Local symbols 开启,否则此选项无效。只有Symbol Reference info 设置为 Reference info时, Code completionCode navigation (Ctrl-Click) 功能才有效。

2.5. Use debug .dcus

DCUs携带堆栈帧一起构建,包含调试信息。选中此选项时,编译器优先考虑Directories /Conditionals页面上的Debug Source Path指定的Dcu搜索路径,而不是pas路径。

2.6. Use imported data references

使单元包含引用到的其他包中的变量。({$G}

3. Other Options

clip_image011

3.1. Additional options to pass to the compiler

输入额外的编译器开关,使用-做为开关的符号,多个开关用逗号分隔。

3.2. Generate XML Documentation

在工程路径中生成用XML表示的一个文件,与- doc的编译器开关对应。Default = False

3.3. Look for 8.3 filenames also

传递 -P 编译器开关给 DCC32.exeDefault = False

3.4. Output unit dependency information

传递 -depends 编译器开关给 DCC32.exeDefault = False

4. Runtime Errors Options

clip_image013

4.1. I/O checking

控制调用I/O方法时,对返回结果检查。启用状态下,如果一个I/O方法返回非0值,将抛出一个EinOutError异常。非启用状态下,你必须通过调用IOResult,自己检查I/O错误。Default = True

4.2. Overflow checking

控制溢出检查。启用状态({$Q+}),将检查某些整数运算符 (+, -, *, Abs, Sqr, Succ, Pred, Inc, and Dec) 的溢出。每个整数运算符都有额外的代码验证其结果是否超出范围,如果溢出检查失败,则引发异常EintOverflow。这个开关通常和Range checking{$R+})开关一起使用。启用溢出检查减慢你的程序,使得它有点大。Default = False

4.3. Range checking

控制范围检查,启用状态({$R+}),所有数组和字符串表达式下标索引被检查是否在范围内。如果范围检查失败,则引发异常ErangeError。启用范围检查减慢你的程序,使得它有点大。Default = False

5. Syntax Options

clip_image015

5.1. Assignable typed constants

控制常量类型是否能被修改。启用状态({$J+}),常量类型可以被修改,在本质上是初始化的变量。禁用状态({$J+}),常量类型是真正意义的常量,任何企图修改的行为,都将引发编译器抛出一个错误。可写consts是指一个常量作为变量在运行时可被修改。旧源代码,使用可写型常量必须在编译时启用此选项,但对于新的应用,建议您使用初始化变量和禁用此选项。Default = False

5.2. Complete boolean evaluation

控制布尔运算符ANDOR的两种评估模式。启用时({$ B+}),编译器生成完整的布尔表达式求值的代码。这意味着每个ANDOR运算符都要保证评估,即使整个表达式的结果是已知的;禁用时({$ B-}),编译器生成短路布尔表达式求值,也就是说,评价代码尽快停止对整个表达式的评估,变成左到右的顺序评价。Default = False

5.3. Extended syntax

提供向后兼容,使用Delphi编程时,不应该禁用此选项({$ X-})。这个选项控制Delphi的扩展语法:

函数的声明。启用状态({$ X+}),函数调用被当作过程调用,也就是说,函数的调用结果可以被丢弃,而不是传递给另一个函数或参与操作、赋值。一般说来,一个函数执行的效果是通过其结果来体现,所以丢弃其结果没什么意义。然而,有时候一个函数的执行是为了改变一个全局变量,而不是返回一个结果。

结果变量。启用状态({$ X+}),一个预先定义的变量可以在函数体内使用,用来存放函数返回的结果。

空结束的字符串。启用状态({$ X+}),字符串可以被分配到从零开始的字符数组(数组[0 .. X]中的字符),这是与PChar类型兼容。Default = True

5.4. Long strings by default

此选项({$ H})控制保留字string在用作类型声明使用时的意义。基本类型的字符串可以表示一个长的,动态分配的字符串(基本类型的UnicodeString)或短的,静态分配的字符串(基本类型ShortString短)。默认情况下,Delphi基本定义的字符串类型是长的UnicodeString。在组件库中的所有组件都在此状态下编译。如果你写的组件,他们也应该用一个较长的字符串,以接收来自任何代码组件库中的字符串类型的属性数据。禁用状态({$ H-}),在引用短字符串版本的Delphi代码时非常有用,你可以在本地重写字符串类型定义的含义,以确保短字符串生成。您还可以更改短字符串类型声明为string[255]ShortString,这是明确的,独立的启用选项。Default = True

5.5. Open parameters

此选项只对编译庞大的字符串代码有意义,是为了对早期的Delphi,Pascal版本向后兼容。禁用状态({$ P-}),用string声明的变量都是正常的变量参数; 但是在启用状态({$ P+}),这些参数变量是openstring参数。不管这个选项的设置如何,openstring标识符总是可以用来声明openstring参数。Default = True

5.6. Strict var-strings

此选项只对短字符串代码有意义,是为了对早期的Delphi,Pascal版本向后兼容。

启用状态({$ V+}),执行严格的类型,要求正式和实参是相同的字符串类型; 禁用状态({$ V-}),任何短字符串类型的变量可以作为一个实参,即使声明的最大长度与正式参数不同。Default = True

5.7. Typed @ operator

此选项控制类型运算符@生成的指针值和指针类型的兼容性。禁用时({$T-}),则@运算符的结果始终是一个无类型指针,它与所有其他指针类型兼容。启用时({$T+}),则@运算符的结果始终是一个有类型指针,只与其同类型的指针兼容。Default = False

三、 Hints and Warnings

Project > Options > Delphi Compiler > Hints and Warnings

clip_image017

1. Output hints

$H}控制在编译时,是否输出hintsMessages WindowDefault = True

2. Output warnings

$W}控制在编译时,是否输出warningsMessages WindowDefault = True

四、 Linking

Project > Options > Delphi Compiler > Linking

clip_image019

1. Debug information

为每一个方法生成行号表,映射对象代码到源文本行号地址。相当于用{$ D +} Delphi编译器的指令和DCC32 - V开关。Default = False

2. EXE Description

请输入您的EXE文件的说明。这个字段可以包含多达255个字符的字符串。该字符串被链接到$ D,并被办好在可执行文件中。这最经常被用来插入应用程序的版权信息。版权信息也可以包括在VersionInfo文件,作为其一部分。请注意,此选项仅适用于DLL和应用程序的可执行文件,但不适合packages

3. Generate console application

导致链接器来给应用程序的exe文件设置一个标志,表明是一个控制台模式应用程序。Default = False

4. Image base

(-K) 指定编译后的镜像的预加载地址。这个值通常是在编译DLL的时候才改变。Default = 400000

5. Include remote debug symbols

(-VR)如果你正在进行远程调试,选中此项。Default = False

6. Map file

默认情况下,链接器生成一个映射文件,其中包含的信息,包括段信息列表,程序的起始地址,以及链接时产生的任何警告或错误信息。Default = Off.

Off --不产生映射文件。这是默认

Segments -- 生成一个映射文件,其中包含的信息,包括段信息列表,程序的起始地址,以及链接时产生的任何警告或错误信息

Publics -- 生成一个映射文件,其中包含的信息,包括段信息列表,程序的起始地址,以及链接时产生的任何警告或错误信息,和一个按字母顺序排序的公共符号列表。

Detailed --生成一个映射文件,其中包含的信息,包括段信息列表,程序的起始地址,以及链接时产生的任何警告或错误信息,和一个按字母顺序排序的公共符号列表,以及详细的段信息地图。部分段映射包含详细的段地址,长度,段名,组和模块信息

7. Maximum stack size

指示堆栈保留的总大小(只适用于执行项目;对于DLL禁用)。内存大小的设置也可以在你源码中通过$M编译器指令来实现。Default = 1048576

8. Minimum stack size

指示堆栈初始大小(只适用于执行项目;对于DLL禁用)。内存大小的设置也可以在你源码中通过$M编译器指令来实现。Default = 16384

9. Place debug information in separate TDS file

存储为一个单独的和工程文件同名的C++样式的符号文件.tds文件,这个文件在编译时被生成,包含了调试信息。如果你希望调试信息直接生成在PE中,设置Debug Information=True

当加载一个C++模块,调试器会检查随行的.tds文件的时间戳。假如这个时间戳比这个模块早多于5秒,调试器就会认为.tds文件是过时的,不能使用它。通用,IDE的时间日志也会报告没有发现这个模块的Debug信息,为了避免丢失.tds文件的问题,执行以下任一操作:

l 请确保您的构建进程(IDE和命令行)和配置文件都具有一致的“Place debug information in separate TDS file “选项。

l Rebuild模块时,删除对应的.tds文件

Default = False

10. Set base address for relocatable images

控制一个应用程序,DLL或包的默认的加载地址。参数必须是:

l 一个32位整数值,指定镜像的基址

l 大于等于$00010000;这个参数的低16被忽略为0

l 64K的倍数(即,最后4位数字必须是零的一个十六进制数),否则将向下调整至最接近的倍数,您将收到一个编译器消息。

相当于编译指令{$IMAGEBASE} Default = 0

11. Set extra PE header flags

PE(可移植可执行文件)的应用程序头指定附加标志

相当于编译指令{$SETPEFLAGS xxx} Default = 0

12. Set extra PE header optional flags

PE(可移植可执行文件)文件的可选头中设置附加的头字段;参考在WINNT.h 中定义的IMAGE_OPTIONAL_HEADER 结构。Default = 0

13. Set OS version fields in PE header as .

PE指定运行时支持的操作系统。用.指定大版本号,用.指定小版本号。例如,在PE可选头中指定5.0来表示需要运行在Windows2000操作系统上。参考WINNT.h中的IMAGE_OPTIONAL_HEADERDefault = 5.0

14. Set subsystem version fields in PE header as .

PE指定运行时支持的子操作系统。用.指定大版本号,用.指定小版本号。Default = 5.0。参考WINNT.h中如下值:

l IMAGE_SUBSYSTEM_UNKNOWN = 0 – 未知子系统

l IMAGE_SUBSYSTEM_NATIVE = 1 – 设备驱动程序或原生WINNT程序

l IMAGE_SUBSYSTEM_WINDOWS_GUI = 2 -- 运行在Windows图形用户界面(GUI)子系统

l IMAGE_SUBSYSTEM_WINDOWS_CUI = 3 --运行在Windows字符子系统

l IMAGE_SUBSYSTEM_POSIX_CUI = 7 --运行在POSIX字符子系统

15. Set user version fields in PE header as .

指定应用程序的版本号,用.指定大版本号,用.指定小版本号。参考WINNT.h中的IMAGE_OPTIONAL_HEADERDefault = 0

五、 Output - C/C++

Project > Options > Delphi Compiler > Output - C/C++

clip_image021

1. C/C++ .bpi output directory (package import libraries)

指定的.BPI的文件的输出目录(在Delphi中使用的包导入库和C++项目)。

2. C/C++ .hpp output directory

指定的.HPP的文件的输出目录(C++头文件)。

3. C/C++ .obj/.lib output directory

指定C ++ .OBJ.lib文件的输出目录

4. C/C++ Output file generation

指定文件,这些文件是由Delphi编译器的输出。选择是:

l Generate DCUs: 生成包和其相关的.dcu.dcp文件

l Generate C .objs: C程序生成C对象文件

l Generate C++ .objs: C++程序生成C++对象文件

l Generate C++ .objs, headers: 生成头文件.hpp和对象文件.obj

l Generate C++ .objs, headers, namespaces: 包含.hpp.obj的命名空间信息

l Generate C++ .objs, headers, namespaces, export: 包含.hpp.obj的所有符号信息

l Generate C++ .objs, namespaces: 包含.objC++命名空间信息,是DelphiC++混合项目的默认

l Generate C++ .objs, namespaces, export: 包含.objC++命名空间信息和符号信息

l Generate C++ .objs, headers, exports: 包含.hpp和.obj的所有面向对象的符号信息

l Generate C++ .objs, exports: 包含.obj面向对象的符号信息

l Generate all C++Builder files (including package libs) *: C++生成所有的包和Delphi文件,以及必要的 .hpp/.bpi/.lib文件。这是默认值

六、 Resource Compiler

Project > Options > Resource Compiler

clip_image023

1. Additional options

为资源编译器(BRCC32.EXE)指定额外的属性

2. Code page

(-c)为资源翻译指定代码页,如果被指定,默认的ANSI代码页将生效。

3. Default language

(-l)指定默认语言,如-l409代表英语。更多信息请参阅http://msdn2.microsoft.com/en-us/library/ms776324.aspx

4. Ignore INCLUDE

(-x)忽略INCLUDE环境变量。Default = False

5. Multi-byte character support

(-m)多字节字符支持。如果设置为True,资源编译器将定资源文件中有多字节的字符。Default = False

6. Resource compiler to use

指定要使用的资源编译器,可选BRCC32.exe (默认) RC.exe (Windows SDK 资源编译器).

7. Resource type

资源文件类型

8. Response file

指定一个响应文件,响应文件通常以.RSP为扩展名,是一个ASCII格式的文本文件,包含了命令和文件名,支持多行和空格分割。

9. Verbose messages

(-v) 链接器发出详细信息消息。Default = False

七、 Directories and Conditionals

Project > Options > Resource Compiler > Directories and Conditionals

clip_image025

1. Defines a preprocessor symbol

(-d)定义预处理符号列表

2. Include file search path

(-I)指定程序包含的文件的路径。

3. Output directory for .res files

指定.Res文件的输出路径

八、 Forms

Project > Options > Forms

clip_image027

1. Main form

指定你的应用程序启动时,用户最新看到哪个窗体。

2. Auto-create forms

列出了自动添加到启动代码和项目文件中的在运行时创建的窗体。当您第一次运行应用程序,这些窗体会自动创建并显示。您可以通过拖动重新拖放排列这些窗体的创建顺序。按住Shift键的同时可选择多个窗体名称。

3. Available forms:

列出那些你的应用程序所使用的,但不会自动创建的窗体。如果你想创建一个这些形式的一个窗体,你必须调用它的Create方法

4. Arrow buttons

用这些箭头按钮,可将窗体从一侧移动到另一侧

九、 Application

Project > Options > Application

clip_image029

通过这一页改变当前应用程序的名称和类型,如果你的应用程序没有包含资源文件(.res),Application settings是不可用的。

1. Title

为应用程序指定一个出现在图标边上的标题,当最小化时显示。限制255个字符长

2. Help file

为当前应用程序指定一个帮助文件。

3. Icon

为当前应用程序指定一个图标(.ico),对应控制台程序,这个选项是禁用的。Windows将使用一个默认的图标。如果你想改变这个图标,参考http://delphi.about.com/od/delphitips2009/qt/console-mode-delphi-application-specify-icon.htm

4. Enable runtime themes

为当前应用程序指定是否使用运行时Windows主题

5. Target file extension

为当前应用程序指定一个扩展名

十、 Version Info

Project > Options > Version Info

clip_image031

通过这一页为Win32程序指定版本信息,当包含了版本信息后,用户可通过在资源管理器中,鼠标右键查看应用程序的属性页来看到版本信息。

1. Include version information in project

决定是否在应用程序中包含版本信息。为了使用这个选项,必须在你的工程文件中增加{$R *.res}在加入资源文件

2. Module version number

设置分层嵌套版本信息,结果如Major. Minor. Release. Build,每一个段都必须是小于65,535的无符号整数。如果选中了Auto-increment build number选项,每一次通过Project > Build 菜单执行时,都会自动给Build加一。其他编译不会影响。

3. Module attributes

表示这个版本的目的,选中此选项,目的信息将被包含在版本信息中仅供参考使用:

l Debug build:表示这个工程是在Debug模式下编译生成

l Pre-release:表示该版本不是商业发行产品

l DLL:表示此版本包含动态链接库

l Special build:表示该版本是标准版本的变化版本

l Private build:表示该版本不是用作标准分发的程序

4. Language

表示在用户系统中运行此应用程序需要哪个代码页,Locale ID为十六进制值,例如$0409 = code page 1033。你只能在下拉列表中选择一项使用。如果想使用操作系统中没有的语言,需要安装对应的语言包。

5. Key/Value list box

设置典型的产品识别属性。每个条目都可被选中和编辑,也可通过右键菜单Add Key来增加一项。

十一、 Packages

Project > Options > Packages

clip_image033

通过这一页为你的应用程序选择想要使用的已经安装在IDE中的设计器包和运行时包。

1. Design packages

列出了安装在IDE中所有可用的设计期包。选中你想用在当前应用程序中的包(勾选不会影响其他应用程序)。

2. Add

安装一个设计期包,你的应用程序同时可以使用这个包了。(全局有效,影响整个Delphi环境)

3. Remove

删除一个设计期包,这个包将对当前应用程序不可用。(全局有效,影响整个Delphi环境)

4. Edit

如果源码文件或.dcp文件可用,编辑这个包。(全局有效,影响整个Delphi环境)

5. Components

显示当前选中设计期包中包含的组件列表。

6. Runtime packages

决定应用程序被创建时,需要用到哪些运行时包,多个包用分号分割。当有包被安装和卸载时,运行时包列表将被更新。应用程序包含了设计期包,也将自动包含设计期包所需要的运行时包。

7. Build with runtime packages

动态链接指定的运行时包,而不是和应用程序编译在一个文件中,这些运行时包需要和应用程序一起发布。(只对当前工程有效)

十二、 Debugger

Project > Options > Debugger

clip_image035

通过这一页为你的应用程序指定命令行参数,为DLL工程指定宿主应用程序。这些参数也可通过Run > Parameters来指定。

1. Host Application

指定一个应用程序的路径,如果当前应用程序是DLLBPL,可指定一个调用它的宿主程序。你也可以指定想要执行的任何应用程序,如果想要执行当前打开的应用程序,不需要指定。

2. Parameters

指定传递给你的应用程序的命令行参数。这些参数将被智能的自动记录下来,下次使用是下拉框中为可选项。

3. Working Directory

指定用于调试当前进程的路径,默认情况下,该路径为当前应用程序exe文件所在的路径。

4. Source Path

指定包含源码文件的路径,默认情况下调试器搜索编译器指定的路径。按照如下顺序搜索:

l Source path (当前选项).

l 全局Browsing pathDelhiC++:

² 针对Delphi, 使用Tools > Options > Environment Options > Delphi Options > Library - Win32 page页面设置

² 针对 C++, 使用Tools > Options > Environment Options > C++ Options > Paths and Directories page页面设置

l 全局Debug Source path, 通过Tools > Options > Debugger Options > Embarcadero Debuggers页面设置

十三、 Debugger Symbol Tables

Project > Options > Debugger Symbol Tables

clip_image037

通过这一页指定调试过程中使用的符号表的位置。

1. Debug symbols search path

指定调试时使用的符号表路径,当Load all symbols没有被选中时,该选项起作用

2. Load all symbols

设置Module Name - Symbol Table Path列表的状态, 控制其是否可用。如果选中这个选项,使用Module Name - Symbol Table Path列表中的路径,如果没有被选中,使用Debug symbols search path中指定的路径。

3. Module Name - Symbol Table Path list

显示当前工程中定义的每个符号表的路径和别名。使用右侧的箭头可以调整顺序。调试器搜索这个这列表,寻找并加载一个匹配模块名称的路径。

4. Load symbols for unspecified modules

指定调试过程中使用的符号表是否在Module Name - Symbol Table Path list指定的列表中(无论是明示还是使用文件通配符),如果此选项被选中,Module Name - Symbol Table Path list中没有指定的符号表,将可以通过Debug symbols search path加载,如果没有被选中,将只使用Module Name - Symbol Table Path list中的符号列表。

5. New,Edit, Delete

增加,修改,删除一项符号列表

十四、 Debugger Environment Block

Project > Options > Debugger Environment Block

clip_image039

通过这一页指定调试过程使用哪些环境变量。些参数也可通过Run > Parameters来指定。

1. System variables

列出了所有系统级别的环境变量名称和值,你不能删除任何已有的系统环境变量,但是可以覆盖。

2. Add Override...

当你选中一个系统变量时有效,单击后弹出一个对话框,让你输入一个同名的用户变量来覆盖系统变量。

3. User overrides

可定义自己的用户变量,也可覆盖同名的系统变量,通过NewEditDelete来增加,修改和删除。

4. Include System Variables

传递系统变量给应用程序,如果此选项没有被选中,将只传递用户变量给应用程序。

十五、 Build Events

Project > Options > Build Events

clip_image041

通过这一页指定的命令(copy $() c:/Built/$())执行的结果,将在Messages窗口的Output页面被显示。如果想控制输出的级别,通过Tools > Options > Environment Options调整Verbosity属性

1. Pre-Build

为在其他Build之前执行的命令。

2. Pre-Link

仅对C++有效,为在Link之前执行的命令。

3. Post-Build

为在Build执行完成后执行的命令。

点击Edit后弹出下面窗口

clip_image042

4. Execute when

确定什么时候执行命令:

l Always: 总是执行

l Target is out-of-date: 当目标应用程序过期时执行

5. Cancel build on error

如果任何一个命令返回非零错误代码,取消工程的编译过程。

6. Commands

指定要执行的命令。用换行增加新的命令。

7. Macros

列出可使用的宏命令参数。

相关文章
|
29天前
|
Dubbo Java 中间件
探寻源码宝藏:介绍开源项目"source-code-hunter"
最近处于金三银四的面试黄金期,许多同学在面试中反映现在要求非常高,阅读源码几乎是必问项。然而,阅读源码时常常觉得晦涩难懂,令人头疼。今天在浏览 GitHub 时,我发现了一个名为 source-code-hunter 的宝藏项目。这个项目从源码层面深入剖析和挖掘互联网行业主流技术的底层实现原理,为广大开发者提供了便利,助其提升技术深度。目前该项目已经涵盖了 Spring 全家桶、Mybatis、Netty、Dubbo 框架,以及 Redis、Tomcat 等中间件的内容,恰好适合最近正在面试或希望提升技术深度的同学参考学习。
52 1
探寻源码宝藏:介绍开源项目"source-code-hunter"
|
6月前
|
编译器 C语言 C++
软件开发入门教程网 Search之C++ 环境设置
软件开发入门教程网 Search之C++ 环境设置
|
6月前
|
存储 缓存 API
CocosCreator3.8研究笔记(十四)CocosCreator 资源管理Asset Manager
CocosCreator3.8研究笔记(十四)CocosCreator 资源管理Asset Manager
134 0
|
11月前
|
Unix 编译器 Linux
软件开发入门教程网 Search之C++ 环境设置
如果您想要设置 C++ 语言环境,您需要确保电脑上有以下两款可用的软件,文本编辑器和 C++ 编译器。
|
缓存 安全 Go
Go 开发常用操作技巧--模块管理
Go 依赖管理经历了 3 个阶段,GOPATH、Go Vendor、Go Module。
104 0
Go 开发常用操作技巧--模块管理
|
Web App开发 资源调度 JavaScript
「Strve.js@2.x正式发布与做open source的一些感受」从90%到100%这个过程真难!
「Strve.js@2.x正式发布与做open source的一些感受」从90%到100%这个过程真难!
「Strve.js@2.x正式发布与做open source的一些感受」从90%到100%这个过程真难!
|
编解码
GEE基础学习-reduceRegion()方法简介
GEE基础学习-reduceRegion()方法简介
498 0
GEE基础学习-reduceRegion()方法简介
|
编译器 Shell 测试技术
Go 语言入门很简单--技巧和窍门(Tips and Tricks)
Go 语言入门很简单--技巧和窍门(Tips and Tricks)
152 0
Go 语言入门很简单--技巧和窍门(Tips and Tricks)
|
存储 算法 Go
Go 语言入门很简单 -- 8. Go Maps #私藏项目实操分享#
Go 语言入门很简单 -- 8. Go Maps #私藏项目实操分享#
103 0
Go 语言入门很简单 -- 8. Go Maps #私藏项目实操分享#
|
存储 算法 JavaScript
#私藏项目实操分享# 1000字带你学会 Go maps
#私藏项目实操分享# 1000字带你学会 Go maps