模組 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

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