Ocaml Graphics.open#u graph赢得';无法在脚本模式下工作
我正在尝试使用ocaml图形模块。 该行:Ocaml Graphics.open#u graph赢得';无法在脚本模式下工作,graphics,ocaml,x11,Graphics,Ocaml,X11,我正在尝试使用ocaml图形模块。 该行: #Graphics.open_graph "";; 在交互模块中工作正常,即在X11中弹出一个白色背景的小窗口。 但是,当我尝试使用脚本模式时--将此行放入文件中,然后编译它: ocamlc -o a.out graphics.cma code.ml 只有X11启动,但没有弹出窗口。 我用的是mac电脑。有人知道为什么吗?谢谢 后续行动: 在脚本模式下,弹出窗口似乎会在代码执行后立即关闭。因为如果我使用XTerminal编译,我可以看到一个小窗口
#Graphics.open_graph "";;
在交互模块中工作正常,即在X11中弹出一个白色背景的小窗口。
但是,当我尝试使用脚本模式时--将此行放入文件中,然后编译它:
ocamlc -o a.out graphics.cma code.ml
只有X11启动,但没有弹出窗口。
我用的是mac电脑。有人知道为什么吗?谢谢
后续行动: 在脚本模式下,弹出窗口似乎会在代码执行后立即关闭。因为如果我使用XTerminal编译,我可以看到一个小窗口弹出,但随后关闭 我通过在底部添加一个无限循环来保持窗口打开:
while true do () done;;
但还是不明白事情到底是怎么回事。请帮忙。谢谢 脚本终止时,将释放所有资源:内存、文件描述符,包括X窗口 如果添加无限循环,脚本不会终止,窗口将保持打开状态 同样,在顶层下,只要不关闭顶层,窗口就会保持打开状态 我建议在脚本末尾添加两行:
- 打印“按回车键退出”
- 从键盘输入读取一行
这样,在用户按enter键之前,脚本不会终止。脚本终止时,所有资源都将被释放:内存、文件描述符,包括X窗口 如果添加无限循环,脚本不会终止,窗口将保持打开状态 同样,在顶层下,只要不关闭顶层,窗口就会保持打开状态 我建议在脚本末尾添加两行:
- 打印“按回车键退出”
- 从键盘输入读取一行
这样,在用户按enter键之前,脚本不会终止。事实上,正如jrouquie解释的那样,您需要延迟程序的终止。我个人这样做的方式是等待用户输入。在交互式程序(或正在研究的打开图形模式的功能)的末尾,我将:
这将等待键盘上的某个键被按下,并在返回之前忽略该键值。事实上,正如jrouquie解释的那样,您需要延迟程序的终止。我个人这样做的方式是等待用户输入。在交互式程序(或正在研究的打开图形模式的功能)的末尾,我将: 这将等待键盘上的某个键被按下,并在返回之前忽略该键的值
ignore (Graphics.read_key ())