zoukankan      html  css  js  c++  java
  • DelphiXE环境认知(第一章 Project Options)

    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

    1. Conditional defines

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

    这里定义了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

     1. Code Generation Options

    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

    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

    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

    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

    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

    1. Output hints

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

    2. Output warnings

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

    四、 Linking

    Project > Options > Delphi Compiler > Linking

    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文件的问题,执行以下任一操作:

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

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

    Default = False

    10. Set base address for relocatable images

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

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

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

    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中如下值:

    IMAGE_SUBSYSTEM_UNKNOWN = 0 – 未知子系统

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

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

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

    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++

    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编译器的输出。选择是:

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

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

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

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

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

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

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

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

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

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

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

    六、 Resource Compiler

    Project > Options > Resource Compiler

    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

    1. Defines a preprocessor symbol

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

    2. Include file search path

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

    3. Output directory for .res files

    指定.Res文件的输出路径

    八、 Forms

    Project > Options > Forms

    1. Main form

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

    2. Auto-create forms

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

    3. Available forms:

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

    4. Arrow buttons

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

    九、 Application

    Project > Options > Application

    通过这一页改变当前应用程序的名称和类型,如果你的应用程序没有包含资源文件(.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

    通过这一页为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

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

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

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

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

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

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

    4. Language

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

    5. Key/Value list box

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

    十一、 Packages

    Project > Options > Packages

    通过这一页为你的应用程序选择想要使用的已经安装在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

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

    1. Host Application

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

    2. Parameters

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

    3. Working Directory

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

    4. Source Path

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

    Source path (当前选项).

    全局Browsing pathDelhiC++:

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

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

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

    十三、 Debugger Symbol Tables

    Project > Options > Debugger Symbol Tables

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

    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

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

    1. System variables

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

    2. Add Override...

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

    3. User overrides

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

    4. Include System Variables

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

    十五、 Build Events

    Project > Options > Build Events

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

    1. Pre-Build

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

    2. Pre-Link

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

    3. Post-Build

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

    点击Edit后弹出下面窗口

     4. Execute when

    确定什么时候执行命令:

    Always: 总是执行

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

    5. Cancel build on error

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

    6. Commands

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

    7. Macros

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

    好的代码像粥一样,都是用时间熬出来的
  • 相关阅读:
    11.2~11.8 每周总结
    11.30~11.6 每周总结
    架构之美 图书笔记 03
    每周总结 10.26-11.1
    每周总结 10.19-10.25
    每周总结 10.12-10.18
    [Tips] centos下docker服务开机自启动
    [Notes] Linux内网穿透
    [Tips] python 文件读写
    [Tips] python 文件读写
  • 原文地址:https://www.cnblogs.com/jijm123/p/14326168.html
Copyright © 2011-2022 走看看