gpt4 book ai didi

ocaml - 如何使用 ocamlbuild 将 -S 标志传递给 ocamlopt?

转载 作者:行者123 更新时间:2023-12-04 15:22:01 25 4
gpt4 key购买 nike

我想通过 -S使用 ocamlbuild 和 corebuild 命令构建时标记为 ocamlopt。

我明白了ocamlbuild -cflag -S ...将无法工作,因为 -S标志仅存在于 ocamlopt 而不是 ocamlc。

如何使用 _tags 文件执行此操作?

最佳答案

这是使用 myocamlbuild.ml 和 _tags 的一种方法。

在 myocamlbuild.ml 中,添加 flag让 ocamlbuild 识别新标签的指令 - 这里是 keep_asm - 这将启用 -S编译为 native 时选择的文件:

flag ["ocaml";"compile";"native";"keep_asm"] (S [A "-S"]);

没有 "native"列表中的字符串传递给 flag ,该标志将为任何 启用编译舞台使用 ocaml (如字符串 "ocaml""compile" 所示),并且会在调用 ocamlc 时触发,这是您不想要的。

因此,对于仅执行上述操作的完整独立 myocamlbuild.ml,结果为:
open Ocamlbuild_plugin;;
open Command;;

dispatch begin function
| Before_rules ->
begin
end
| After_rules ->
begin
flag ["ocaml";"compile";"native";"keep_asm"] (S [ A "-S"]);
end
| _ -> ()
end

一旦定义了新标签,就可以在 _tags 文件中使用它,就像使用任何其他标签一样,例如:
<myfile.ml>: use_bigarray, keep_asm 

关于ocaml - 如何使用 ocamlbuild 将 -S 标志传递给 ocamlopt?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27333204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com