模組 Config_main

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

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

變數的設定值,如果存在