module Config_main: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_main.ocamlc_cflags
应改用。ocamlopt 应传递给 C 编译器的标志val ocamlopt_cppflags : string
Config_main.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
变量的配置值(如果存在)