小编xys*_*sun的帖子

llvm OCaml绑定

我正在研究llvm OCaml绑定.

我通过opam(opam install llvm)安装了llvm包,当我在utop中使用llvm时,我收到以下错误:

#require "llvm";;
Error: The external function 'llvm_global_succ' is not available. 
Run Code Online (Sandbox Code Playgroud)

opam llvm版本是3.2.

我也尝试从官方网站(./configure --with-ocaml-libdir='ocamlc -where')构建llvm3.3 ,构建成功(所有llvm命令行工具都正常工作),但我在utop中遇到了同样的错误.

我在Mac OS 10.7.5上.


编辑:我解决了..

ocamlmktop -o llvmtop llvm.cma -cc g++

然后启动llvmtop,之后可以使用llvm绑定open Llvm.

我还没有找到相应的utop...


Edit2:现在utop正在工作!

感谢此处utop文档

  1. 创建一个myutop_main.ml文件:

    let () = UTop_main.main ()

  2. utop使用llvm绑定创建自定义:

    ocamlfind ocamlmktop -o llvmutop -thread -linkpkg -package utop -package llvm myutop_main.ml -cc g++

ocaml llvm opam

29
推荐指数
1
解决办法
1955
查看次数

OCaml 正则表达式:指定出现次数

在 OCaml 中,如何为正则表达式中的模式指定出现次数?我浏览了 Str 模块,但找不到{n}量词的等价物。

例如,如果我想指定一个“Year”模式,即恰好 4 位数字,除了这样做还有什么办法"[0-9][0-9][0-9][0-9]"吗?

谢谢。

regex ocaml

5
推荐指数
1
解决办法
528
查看次数

OCaml:括在括号中的代码

我在使用OCaml开发应用程序时遵循此draw_string_in_box示例

给出的示例代码如下:

let draw_string_in_box pos str bcf col = 
 let (w, h) = Graphics.text_size str in
 let ty = bcf.y + (bcf.h-h)/2 in 
 ( match pos with 
       Center -> Graphics.moveto (bcf.x + (bcf.w-w)/2) ty 
     | Right  -> let tx = bcf.x + bcf.w - w - bcf.bw - 1 in 
                 Graphics.moveto tx ty 
     | Left   -> let tx = bcf.x + bcf.bw + 1 in Graphics.moveto tx ty  );
 Graphics.set_color col;
 Graphics.draw_string str;;
Run Code Online (Sandbox Code Playgroud)

如果我删除"匹配"部分周围的括号,代码将无法工作(没有任何内容被打印).知道为什么吗?

更一般地说,我应该何时将括号括在这样的代码位?

谢谢.

printing ocaml

2
推荐指数
1
解决办法
158
查看次数

标签 统计

ocaml ×3

llvm ×1

opam ×1

printing ×1

regex ×1