模組 Config

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 使用)

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

變數的組態值 (如果存在)