我目前正在尝试使用cygwin开始学习ocaml,但是当我尝试编译ml文件时,没有任何反应 - 没有错误消息,也没有创建文件。
我在cygwin上使用的命令是,
$ ocamlc hello.ml
据我的教授说,应该有一个名为a.out的文件在我的工作文件夹上创建,但什么都没有。
但是当我尝试使用此命令时,
$ ocamlc -o a.out hello.ml
a.out文件已正确创建,我可以使用
运行已编译的程序$ ./a.out
教授指出
对于某些实验,我输入以下内容,
$ ocamlc -o a hello.ml
这创建了一个名为“a”的文件,没有任何文件扩展名。
所以我的问题是, 1.为什么不首先创建a.out文件? - 它应该根据教授的说法完成。 2. .out文件有什么作用?
答案 0 :(得分:1)
键入ocamlc hello.ml
时创建的所有新文件?也许camlprog.exe
左右?如果是,你使用MinGW OCaml而不是Cygwin。 MinGW OCaml是一个Windows应用程序,因此它的默认可执行文件名不是a.out
,这是Unix和Cygwin的默认名称。
我从不推荐ppl用Windows或Cygwin学习OCaml。由于有3种口味:Cygwin OCaml,MinGW OCaml和MSVC OCaml,它们的行为略有不同。新来者永远不确定他们实际使用的是哪种口味。