众所周知,我们可以在 OCaml 顶层使用 #use 指令来加载 ml 文件然后执行。
而且我们还可以使用ocaml.exe来加载和执行ml文件。
这里我的要求对这两种情况有一些变化:
我有一个主进程,他创建了一个 ocaml 顶层来执行脚本,这两个进程与共享内存和 stdin/stdout 通信。共享内存的地址(令牌)在 Sys.argv 中给出。
问题是,我想在创建进程后动态加载ml文件,所以一开始没有给出要执行的ml。
如果我用“ocaml.ml xx.ml [params]”开始这个过程,脚本将立即执行,我不能在脚本开始后简单地使用#use指令。
如果我进入交互模式,我无法提供共享地址,因为一旦我提供这些婴儿车,它们就会被视为 ml 文件名。
所以有人有实现它的想法吗?ocaml 顶层是一个后台服务,它调用一个脚本,一旦启动就进入一个事件循环。