0
我知道有Sys.os_type
,但它將OSX,Linux等全部歸入同一類別。我想檢測操作系統,最重要的是區分OSX和Linux。如何檢測正在運行的OS程序?
我知道有Sys.os_type
,但它將OSX,Linux等全部歸入同一類別。我想檢測操作系統,最重要的是區分OSX和Linux。如何檢測正在運行的OS程序?
你可以嘗試這樣的事:
# let ic = Unix.open_process_in "uname" in
let uname = input_line ic in
let() = close_in ic in
uname;;
- : string = "Darwin"
在OSX返回 「達爾文」。在Linux中它返回「Linux」(至少這是我剛纔看到的,當我嘗試時)。
我不知道Windows上的行爲。但至少它會有所不同:-)
這聽起來更像編譯時開關,而不是運行時的東西。你有沒有考慮過? – nlucaroni
我有。這兩種方法都可以工作,但我目前不使用optcomp或任何其他預處理器,所以我不想介紹這種情況,除非絕對必要。 – rgrinberg