当前位置: 首页 > news >正文

fpc参数说明

fpc参数说明

fpc [选项] <文件> [选项]
仅列出适用于默认平台或选定平台的有效选项。
在布尔开关选项后加 + 表示启用,加 - 表示禁用。@<x>  从 <x> 读取编译选项,除默认的 fpc.cfg 外-a    编译器不会删除生成的汇编文件,自动切换到外部汇编程序写入-a5  不要为 GNU Binutils 2.25 之前的版本(Windows、NativeNT)生成大对象 COFF 文件-al  在汇编文件中列出源代码行-an  在汇编文件中列出节点信息(-dEXTDEBUG 编译器)-ao  在外部汇编程序调用中添加额外选项(内部使用时忽略)-ap  使用管道代替创建临时汇编文件-ar  在汇编文件中列出寄存器分配/释放信息-aR  在汇编文件中列出 RTTI 信息-at  在汇编文件中列出临时分配/释放信息-A<x>  输出格式:-Adefault  使用默认汇编程序-Aas       使用 GNU AS 汇编-Aas-darwin 使用 GNU GAS 汇编 Darwin Mach-O-Aelf      ELF(Linux 64 位)使用内部写入器-Agas      使用 GNU GAS 汇编-Amasm     Win64 对象文件使用 ml64(Microsoft)-Anasm     使用 Nasm 汇编(实验性)-Anasmdarwin 使用 Nasm 汇编 Darwin macho64 对象文件(实验性)-Anasmelf  使用 Nasm 汇编 Linux 64 位对象文件(实验性)-Anasmwin64 使用 Nasm 汇编 Win64 对象文件(实验性)-Apecoff   PE-COFF(Win64)使用内部写入器-Ayasm     使用 Yasm 汇编(实验性)-b    生成浏览器信息-bl        生成本地符号信息-B    构建所有模块-C<x>  代码生成选项:-C3        打开对常量的 IEEE 错误检查-Ca<x>     选择 ABI;使用 fpc -i 或 fpc -ia 查看可能的值-Cb        为大端序变体的目标架构生成代码-Cc<x>     将默认调用约定设置为 <x>-CD        同时创建动态库(不支持)-Ce        使用模拟浮点运算码编译-CE        生成可引发异常的 FPU 代码-Cf<x>     选择要使用的 FPU 指令集;使用 fpc -i 或 fpc -if 查看可能的值-CF<x>     最小浮点常数精度(默认值、3264-Cg        生成 PIC 代码-Ch<n>[,m] <n> 字节最小堆大小(102367107840 之间),可选 [m] 最大堆大小-Ci        IO 检查-Cn        跳过链接阶段-Co        检查整数运算溢出-CO        检查可能的整数运算溢出-Cp<x>     选择指令集;使用 fpc -i 或 fpc -ic 查看可能的值-CP<x>=<y> 打包设置-CPPACKENUM=<y> <y> 枚举打包:0124 或 DEFAULT 或 NORMAL-CPPACKRECORD=<y> <y> 记录打包:0 或 DEFAULT 或 NORMAL、12481632-CPPACKSET=<y> <y> 集合分配:01 或 DEFAULT 或 NORMAL、248-Cr        范围检查-CR        验证对象方法调用的有效性-Cs<n>     将堆栈检查大小设置为 <n>-Ct        堆栈检查(仅用于测试,详见手册)-CT<x>     目标特定代码生成选项-CTcld                     在使用 x86 字符串指令前发出 CLD 指令-CX        同时创建智能链接库-d<x>  定义符号 <x>-D     生成 DEF 文件-Dd<x>     将描述设置为 <x>-DD<x>     将 %DATE% 返回的日期字符串设置为 x(不检查是否有效)-DT<x>     将 %TIME% 返回的时间字符串设置为 x(不检查是否有效)-Dv<x>     将 DLL 版本设置为 <x>-e<x>  设置可执行文件路径-E     与 -Cn 相同-fPIC  与 -Cg 相同-F<x>  设置文件名和路径:-Fa<x>[,y] (对于程序)在解析 uses 之前加载单元 <x> 和 [y]-Fc<x>     将输入代码页设置为 <x>-FC<x>     将 RC 编译器二进制文件名设置为 <x>-Fd        禁用编译器内部目录缓存-FD<x>     设置搜索编译器工具的目录-Fe<x>     将错误输出重定向到 <x>-FE<x>     设置 exe 单元输出路径到 <x>-Ff<x>     添加 <x> 到框架路径(仅 Darwin),或设置 IDF 路径到 <x>(Xtensa-FreeRTOS)-FF        使用 fpcres 作为 RC 到 RES 编译器,代替 windres 或 gorc-Fi<x>     添加 <x> 到包含路径-Fl<x>     添加 <x> 到库路径-FL<x>     使用 <x> 作为动态链接器-Fm<x>     从 <x>.txt 在编译器目录加载 unicode 转换表-FM<x>     设置搜索 unicode 二进制文件的目录-FN<x>     添加 <x> 到默认单元作用域列表(命名空间)-Fo<x>     添加 <x> 到对象路径-Fr<x>     加载错误消息文件 <x>-FR<x>     将资源(.res)链接器设置为 <x>-Ft        在大小写敏感文件系统上不搜索大写或 8.3 单元文件名。-Fu<x>     添加 <x> 到单元路径-FU<x>     将单元输出路径设置为 <x>,覆盖 -FE-Fw<x>     从 <x> 加载之前存储的整个程序优化反馈-FW<x>     将生成的整个程序优化反馈存储在 <x>-g    生成调试信息(目标默认格式)-gc        为指针生成检查(实验性,仅适用于某些目标,可能会产生误报)-gh        使用堆跟踪单元(用于内存泄漏/损坏调试)-gl        使用行信息单元(在回溯中显示更多信息)-gm        生成 Microsoft CodeView 调试信息(实验性)-go<x>     设置调试信息选项-godwarfcpp  在 DWARF 中模拟 C++ 调试信息-godwarfmethodclassprefix  在 DWARF 中为方法名添加类名前缀-godwarfomflinnum  此外,在 MS LINK 格式中生成 OMF LINNUM 记录中的行号信息(Open Watcom 调试器/链接器兼容)-godwarfsets  启用 DWARF 'set' 类型调试信息(会破坏 gdb < 6.5-gostabsabsincludes  在 Stabs 中存储绝对/完整包含文件路径-gp        在 stabs 符号名中保留大小写-gs        生成 Stabs 调试信息-gt        垃圾处理本地变量(以检测未初始化使用;多个 't' 更改垃圾值)-gv        生成可被 Valgrind 追踪的程序-gw        生成 DWARFv2 调试信息(同 -gw2)-gw2       生成 DWARFv2 调试信息-gw3       生成 DWARFv3 调试信息-gw4       生成 DWARFv4 调试信息(实验性)-i    信息-ia        返回支持的 ABI 目标列表-ib        返回使用的代码生成后端类型-ic        返回支持的 CPU 指令集列表-iD        返回编译器日期-if        返回支持的 FPU 指令集列表-ii        返回支持的内联汇编模式列表-im        返回支持的模式开关列表-io        返回支持的优化列表-ir        返回识别的编译器和 RTL 功能列表-iSO       返回编译器操作系统-iSP       返回编译器主机处理器-it        返回支持的目标列表-iTO       返回目标操作系统-iTP       返回目标处理器-iu        返回支持的微控制器类型列表-iV        返回简短的编译器版本-iw        返回支持的整个程序优化列表-iW        返回完整的编译器版本-I<x>  将 <x> 添加到包含路径-k<x>  将 <x> 传递给链接器-l    写入标志-M<x>  将语言模式设置为 <x> 或启用模式开关 <x>(参见选项 -im)-Mdelphi   Delphi 7 兼容模式-Mdelphiunicode Delphi 2009 及更高版本兼容模式-Mextendedpascal ISO 10206 模式-Mfpc      Free Pascal 方言(默认)-Miso      ISO 7185 模式-Mmacpas   Macintosh Pascal 方言兼容模式-Mobjfpc   支持 Object Pascal 的 FPC 模式-Mtp       TP/BP 7.0 兼容模式每种模式(如上所述)启用其默认的模式开关集。其他模式开关被禁用,需逐一启用。-M<x>- 禁用模式开关 <x>(参见选项 -im)-n    不读取默认配置文件-o<x>  将生成的可执行文件名更改为 <x>-O<x>  优化:-O-       禁用优化-O1       第 1 级优化(快速且对调试友好)-O2       第 2 级优化(-O1 + 快速优化)-O3       第 3 级优化(-O2 + 慢速优化)-O4       第 4 级优化(-O3 + 可能产生意外副作用的优化)-Oa<x>=<y> 设置对齐方式-Oo[NO]<x> 启用或禁用优化;使用 fpc -i 或 fpc -io 查看可能的值-Op<x>    设置优化目标 cpu;使用 fpc -i 或 fpc -ic 查看可能的值-Os       优化以减小体积而非提高速度-Ow<x>    执行整个程序优化 <x>;使用 fpc -i 或 fpc -iw 查看可能的值-OW<x>    为优化 <x> 生成整个程序优化反馈;使用 fpc -i 或 fpc -iw 查看可能的值-pg   为 gprof 生成分析代码(定义 FPC_PROFILE)-P<x>  目标 CPU / 编译器相关选项:-PB       显示默认编译器二进制文件-PP       显示默认目标 cpu-P<x>     设置目标 CPU(aarch64、arm、avr、i386、i8086、jvm、loongarch64、m68k、mips、mipsel、powerpc、powerpc64、riscv32、riscv64、sparc、sparc64、wasm32、x86_64、xtensa、z80)-R<x>  汇编程序阅读风格:-Rdefault 使用目标的默认汇编程序-Ratt      阅读 AT&T 风格汇编程序-Rintel    阅读 Intel 风格汇编程序-s     不调用汇编程序和链接器-sh       生成在主机上链接的脚本,自动切换到外部汇编程序写入-sr       跳过寄存器分配阶段(与 -alr 一起使用),自动切换到外部汇编程序写入-st       生成在目标上汇编和链接的脚本,自动切换到外部汇编程序写入-sT       仅生成在目标上链接的脚本-S<x>  语法选项:-S2       同 -Mobjfpc-Sa       打开断言-Sc       支持 C 语言中的运算符(*=、+=、/= 和 -=-Sd       同 -Mdelphi-Se<x>    错误选项。 <x> 是以下组合:<n> : 编译器在 <n> 个错误后停止(默认为 1)h : 编译器也在提示后停止n : 编译器也在注释后停止w : 编译器也在警告后停止-Sf       启用编译器和 RTL 中的某些特性;使用 fpc -i 或 fpc -ir 查看可能的值。-Sg       启用 LABEL 和 GOTO(默认在 -Mtp 和 -Mdelphi 中)-Sh       使用引用计数字符串(默认为 ansistring)代替短字符串-Si       打开内联过程/函数的声明 "inline"-SI<x>    将接口风格设置为 <x>-SIcom    COM 兼容接口(默认)-SIcorba  CORBA 兼容接口-Sj       允许类型常量可写(默认在所有模式中)-Sk       加载 fpcylix 单元-Sm       支持 C 语言中的宏(全局)-So       同 -Mtp-Sr       在 ISO 模式中透明文件名-Ss       构造函数名必须为 "Init"(析构函数名必须为 "Done")-Sv       支持向量处理(如果可用,使用 CPU 向量扩展)-Sx       启用异常关键字(在 Delphi/ObjFPC 模式中默认启用)-Sy       @<指针> 返回类型指针,同 $T+-T<x>  目标操作系统:-Tandroid Android-Taros    AROS-Tdarwin  Darwin/Mac OS X-Tdragonfly DragonFly BSD-Tembedded 嵌入式-Tfreebsd FreeBSD-Thaiku   Haiku-Tiphonesim iPhone 模拟器-Tlinux   Linux-Tnetbsd  NetBSD-Topenbsd OpenBSD-Tsolaris Solaris-Twin64   Win64(64 位 Windows 系统)-t<x>  目标架构* 定义 FPC_SUBTARGET_<x>* 定义 FPC_SUBTARGET 为 <arg>* 额外读取配置文件 fpc-<子目标>.cfg-u<x>  取消定义符号 <x>-U     单元选项:-Un       不检查单元名是否与文件名匹配-Ur       生成发布单元文件(从不自动重新编译)-Us       编译系统单元-v<x>  详细输出。<x> 是以下字母组合:0 : 仅显示错误(默认)a : 显示所有内容b : 以完整路径写入文件名消息c : 显示条件编译信息d : 显示调试信息e : 显示错误(默认)h : 显示提示i : 显示常规信息j : 始终添加主源(在并行 make 中有用)l : 显示行号m<x>,<y> : 不显示编号为 <x> 和 <y> 的消息n : 显示注释p : 写入包含解析树的 tree.logq : 显示消息编号r : 兼容 Rhide/GCC 模式s : 显示时间戳t : 显示尝试/使用的文件u : 显示单元信息v : 写入包含大量调试信息的 fpcdebug.txtw : 显示警告x : 显示调用工具的信息z : 将输出写入 stderr-V<x>  在使用的编译器二进制文件名后追加 '-<x>'(例如,用于版本)-W<x>  目标特定选项(目标)-WA       指定 Windows 原生类型应用-Wb       创建捆绑包而非库(Darwin)-WB       创建可重定位图像(Windows)-WB<x>    将图像基址设置为 <x>(Windows)-WC       指定控制台类型应用(Windows)-WD       使用 DEFFILE 导出 DLL 或 EXE 的函数(Windows)-We       使用外部资源(Darwin)-WG       指定图形类型应用(Windows)-Wi       使用内部资源(Darwin)-WI       打开/关闭导入部分的使用(Windows)-WM<x>    最小 Mac OS X 部署版本:10.410.5.1 等(Darwin)-WN       不生成重定位代码,用于调试(Windows)-WP<x>    最小 iOS 部署版本:8.08.0.2 等(iphonesim)-WR       生成重定位代码(Windows)-WX       启用可执行栈(Linux)-x<suff> 设置编译器可执行文件的后缀(仅用于 fpc 命令)-X     可执行文件选项:-X9       为 GNU Binutils ld 2.19.1 之前的版本生成链接脚本(Linux)-Xa       生成允许在 64 位目标上使用超过 2 GB 静态数据的代码(Linux)-Xc       将 --shared/-dynamic 传递给链接器(BeOS、Darwin、FreeBSD、Linux)-Xd       不搜索默认库路径(在不使用 -XR 时交叉编译可能需要)-XD       尝试动态链接单元      (定义 FPC_LINK_DYNAMIC)-Xe       使用外部链接器-Xf       替换链接时的 pthread 库名(BSD)-Xg       在单独文件中创建调试信息,并在可执行文件中添加 debuglink 部分-Xi       使用内部链接器-XLA      定义链接库替换-XLD      排除标准库的默认链接顺序-XLO      定义库链接顺序-Xm       生成链接图-XM<x>    设置 'main' 程序例程的名称(默认为 'main')-Xn       使用目标系统原生链接器代替 GNU ld(Solaris、AIX)-Xp<x>    首先在目录 <x> 中搜索编译器二进制文件-XP<x>    在 binutils 名称前添加前缀 <x>-Xr<x>    将链接器的 rlink 路径设置为 <x>(交叉编译时可能需要,详见 ld 手册)-XR<x>    在所有链接器搜索路径前添加 <x>(BeOS、Darwin、FreeBSD、Linux、Mac OS、Solaris)-Xs       从可执行文件中剥离所有符号-XS       尝试静态链接单元(默认,定义 FPC_LINK_STATIC)-Xt       使用静态库链接(-static 传递给链接器)-Xu       将可执行文件生成为 UF2 格式(仅嵌入式目标)-Xv       为虚拟入口调用生成表-XV       使用 VLink 作为外部链接器(Amiga、Atari、Sinclair QL 默认)-XX       尝试智能链接单元             (定义 FPC_LINK_SMART)-?     显示此帮助-h     显示此帮助而不等待