module Config: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.ocamlc_cflags
应该改用。ocamlopt 应该传递给 C 编译器的标志val ocamlopt_cppflags : string
Config.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 使用)
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
运行时是否支持裸指针
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
变量的配置值(如果存在)