Skip to content

编译器选项:-z


设置杂项或实验性编译器选项。

语法

-z <value>

参数

value

杂项编译器选项。

描述

-z 编译器选项设置开发人员使用的杂项、晦涩、临时或实验性选项。不保证这些选项在未来版本的编译器中会被支持。

-z gosub-setjmp

指定即使使用 GAS 后端,也应使用 Gosubsetjmp/longjmp 实现。默认情况下,Gosub-gen gas 中使用 CALL/RET 汇编指令支持,在 -gen gcc 中使用 setjmp/longjmp C 运行时函数支持。

-z valist-as-ptr

指定如果目标支持,可变参数过程的 cva_list 变量参数列表和宏的实现应使用普通指针类型。默认情况下,使用 -gen gcc 时,cva_list 数据类型映射到 gcc 的 __builtin_va_list 数据类型。

-z no-thiscall

指示 fbc 忽略源文件中的 __thiscall 指令。

-z no-fastcall

指示 fbc 忽略源文件中的 __fastcall 指令。

-z fbrt

指示 fbc 链接 libfbrt[mt].a 库而不是 libfb[mt].a 库,而无需复制或移动文件或维护多个开发目录。

-z nocmdline

指示 fbc 忽略源文件中的所有 cmdline 指令,并仅从实际的编译器命令行获取控制权。

-z retinflts

指示 fbc 启用在浮点寄存器中返回某些结构(类型)。

-z nobuiltins

指示 fbc 禁用所有内置声明和定义,但严格必要的除外(这些是编译器初始化到可以开始解析用户代码的工作状态所需的)。然后,用户代码必须提供 fbc 内部所需的所有必要声明和定义,以允许用户代码编译成功。请注意,使用此选项需要了解编译器的内部工作原理。对于实验和开发,这允许在 fb 用户代码中声明和定义几乎所有 fbc 内置项。实际需要的用户代码声明将取决于要编译的用户代码的内容。如果在 fbc 本身在解析用户源代码时需要它们之前尚未进行所需的支持声明或定义,fbc 预期会抛出错误(fbc 也可能崩溃)。

-z optabstract

指示 fbc 不发射未使用的纯抽象类型。

版本

  • 自 fbc 1.20.0 起:optabstract 编译器选项
  • 自 fbc 1.20.0 起:nobuiltins 编译器选项
  • 自 fbc 1.10.0 起:retinflts 编译器选项
  • 自 fbc 1.10.0 起:no-fastcall 编译器选项。
  • 自 fbc 1.09.0 起:nocmdline 编译器选项
  • 自 fbc 1.09.0 起:fbrt 编译器选项。
  • 自 fbc 1.09.0 起:no-thiscall 编译器选项。
  • 自 fbc 1.08.1 起:valist-as-ptr 编译器选项。
  • 自 fbc 0.20.0 起:gosub-setjmp 编译器选项。

另请参阅

返回 目录

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系