当我为 ocaml 编译时,cygwin 没有创建 a.out 文件

cygwin does not create a.out file when I compile for ocaml

我目前正在尝试开始使用 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文件有什么作用?

键入 ocamlc hello.ml 时是否创建了任何新文件?也许 camlprog.exe 左右?如果是,则您正在使用 MinGW OCaml 而不是 Cygwin。 MinGW OCaml 是一个 windows 应用程序,因此它的默认可执行文件名不是 a.out,这是 Unix 和 Cygwin 的默认名称。

我从不建议人们使用 Windows 或 Cygwin 来学习 OCaml。由于有 3 种风格:Cygwin OCaml、MinGW OCaml 和 MSVC OCaml,它们的行为略有不同,就像这样。新手永远不确定他们实际使用的是哪种口味。