模块 Config_boot

module Config_boot: sig .. end

系统配置

警告:此模块不稳定,属于 compiler-libs


val version : string

系统的当前版本号

val bindir : string

包含二进制程序的目录

val standard_library : string

包含标准库的目录

val ccomp_type : string

使用的 C 编译器、汇编器和链接器的“类型”: “cc”(适用于 Unix 风格的 C 编译器) “msvc”(适用于 Microsoft Visual C++ 和 MASM)

val c_compiler : string

用于编译 C 文件的编译器

val c_output_obj : string

C 编译器用于指定输出文件的选项名称

val c_has_debug_prefix_map : bool

C 编译器是否支持 -fdebug-prefix-map

val as_has_debug_prefix_map : bool

汇编器是否支持 --debug-prefix-map

val ocamlc_cflags : string

ocamlc 应该传递给 C 编译器的标志

val ocamlc_cppflags : string

ocamlc 应该传递给 C 预处理器的标志

val ocamlopt_cflags : string
已弃用。 Config_boot.ocamlc_cflags 应该改为使用。 ocamlopt 应该传递给 C 编译器的标志
val ocamlopt_cppflags : string
已弃用。 Config_boot.ocamlc_cppflags 应该改为使用。 ocamlopt 应该传递给 C 预处理器的标志
val bytecomp_c_libraries : string

用于链接自定义运行时的 C 库

val native_c_libraries : string

用于链接本地代码程序的 C 库

val native_ldflags : string
val native_pack_linker : string

用于打包(ocamlopt -pack)和部分链接(ocamlopt -output-obj)的链接器。

val mkdll : string

构建动态库的链接器命令行。

val mkexe : string

构建可执行文件的链接器命令行。

val mkmaindll : string

将主程序构建为 dll 的链接器命令行。

val default_rpath : string

在运行时添加要搜索库的目录的选项(由 ocamlmklib 使用)

val mksharedlibrpath : string

在运行时添加要搜索共享库的目录的选项(由 ocamlmklib 使用)

val ar : string

ar 命令的名称,如果不需要(MSVC),则为 ""

val interface_suffix : string ref

接口文件名的后缀

val exec_magic_number : string

字节码可执行文件的魔数

val cmi_magic_number : string

已编译接口文件的魔数

val cmo_magic_number : string

对象字节码文件的魔数

val cma_magic_number : string

存档文件的魔数

val cmx_magic_number : string

编译单元描述的魔数

val cmxa_magic_number : string

编译单元描述库的魔数

val ast_intf_magic_number : string

包含接口语法树的文件的魔数

val ast_impl_magic_number : string

包含实现语法树的文件的魔数

val cmxs_magic_number : string

动态加载插件的魔数

val cmt_magic_number : string

已编译接口文件的魔数

val linear_magic_number : string

线性内部表示文件的魔数

val max_tag : int

可以存储在常规块的标头中的最大标签。

val lazy_tag : int

通常与 Obj.lazy_tag 相同。由于引导方面的技术原因,单独定义。

val max_young_wosize : int

直接在次要堆中分配的数组的最大大小

val stack_threshold : int

VM 堆栈底部安全区域的大小(以字为单位),请参阅 runtime/caml/config.h

val stack_safety_margin : int

堆栈底部与堆栈指针之间的安全裕量大小(以字为单位)。此裕量可用于某些指令的中间计算或事件处理程序。

val native_compiler : bool

本地编译器是否可用

val architecture : string

本地代码编译器的处理器类型的名称

val model : string

本地代码编译器的处理器子模型的名称

val system : string

本地代码编译器的操作系统的名称

val asm : string

用于汇编 ocamlopt 生成的代码的汇编器(和标志)。

val asm_cfi_supported : bool

汇编器是否理解 CFI 指令

val with_frame_pointers : bool

汇编器是否应该维护帧指针

val ext_obj : string

对象文件的扩展名,例如在 Unix 下为 .o

val ext_asm : string

汇编文件的扩展名,例如在 Unix 下为 .s

val ext_lib : string

库文件的扩展名,例如在 Unix 下为 .a

val ext_dll : string

动态加载库的扩展名,例如在 Unix 下为 .so

val ext_exe : string

可执行程序的扩展名,例如在 Windows 下为 .exe

val default_executable_name : string

链接时如果未使用 -o 指定,则产生的可执行文件的名称,例如在 Unix 下为 a.out

val systhread_supported : bool

系统线程库是否已实现

val flexdll_dirs : string list

FlexDLL 对象所需的目录

val host : string

编译器是否是交叉编译器

val target : string

编译器是否是交叉编译器

val flambda : bool

编译器是否为 flambda 配置

val with_flambda_invariants : bool

flambda 的不变式检查是否已启用

val with_cmm_invariants : bool

Cmm 的不变式检查是否已启用

val reserved_header_bits : int

块的标头保留了多少位

val flat_float_array : bool

编译器和运行时是否自动展平浮点数组

val function_sections : bool

编译器是否已配置为在单独的节中生成每个函数

val windows_unicode : bool

Windows Unicode 运行时是否已启用

val naked_pointers : bool

运行时是否支持裸指针

val supports_shared_libraries : bool

是否支持共享库

val native_dynlink : bool

是否支持本地共享库

val afl_instrument : bool

默认情况下是否生成 afl-fuzz 检测

val ar_supports_response_files : bool

ar 是否支持 @FILE 参数。

val tsan : bool

ThreadSanitizer 检测是否已启用

val print_config : out_channel -> unit

访问配置值

val config_var : string -> string option

如果存在,则为变量的配置值