Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ocaml 如何检测正在运行的操作系统?_Ocaml - Fatal编程技术网

Ocaml 如何检测正在运行的操作系统?

Ocaml 如何检测正在运行的操作系统?,ocaml,Ocaml,如何在OCaml中检测系统类型/操作系统 我现在的想法真的很奇怪。正在运行系统调用:“uname-a” let syscall ?(env=[| |]) cmd = let ic, oc, ec = Unix.open_process_full cmd env in let buf1 = Buffer.create 96 and buf2 = Buffer.create 48 in (try while true do Buffer.add_channe

如何在OCaml中检测系统类型/操作系统

我现在的想法真的很奇怪。正在运行系统调用:
“uname-a”

let syscall ?(env=[| |]) cmd =
    let ic, oc, ec = Unix.open_process_full cmd env in
    let buf1 = Buffer.create 96
    and buf2 = Buffer.create 48 in
    (try
     while true do Buffer.add_channel buf1 ic 1 done
    with End_of_file -> ());
    (try
     while true do Buffer.add_channel buf2 ec 1 done
    with End_of_file -> ());
    let exit_status = Unix.close_process_full (ic, oc, ec) in
    check_exit_status exit_status;
    (Buffer.contents buf1,
    Buffer.contents buf2)
即使在cygwin身上


但是我想一定有一些本地的ocaml方法来检查系统类型。

标准ocaml库有一个名为
Sys.os_type
的字符串,但是它没有
uname-a
那么多信息。它要么是
“Unix”
“Win32”
,要么是
“Cygwin”
。如中所述。

NB在extunix中还有一个