我想在OCaml中使用线程模块,但无法打开它。
例如,对于Unix,我必须使用:#load "unix.cma";;
或#load "graphics.cma";;
用于图形模块。
但是当我尝试#load "thread.cma"
时,它会返回错误。
如何加载?
答案 0 :(得分:6)
与unix.cma
或graphics.cma
,threads.cma
相反(最后一个s
:Thread
只是{{1}中包含的模块之一}库)并不直接位于OCaml的标准库目录中,而是位于threads.cma
子目录中,因此您必须将其添加到解释器的搜索路径中。此外,threads
依赖于threads.cma
,因此您也必须加载它。总而言之,以下指令序列应允许您将unix.cma
加载到解释器中(threads.cma
指示+
是标准库的子目录)。
threads
请注意,如果您安装findlib
和#directory "+threads";;
#load "unix.cma";;
#load "threads.cma";;
(可以在#use "topfind";;
文件中放置的伪指令),那么在解释器中使用线程只是键入{{ 1}},更不用说访问其他库也变得更加容易了。