如何为 OCaml 配置 _oasis 以设置 'Profile' 标志

How to configure _oasis for OCaml to set 'Profile' flag

我在 OCaml 中有一个现有项目和一个 _oasis 文件。我不知道在哪里启用 ocamlbuild.

的分析标志

我查阅了 Oasis 手册和代码,发现 setup.data 中有一个可用的变量 profile。我假设这是 Oasis 自动生成的。

为了将 profile 设置为 true,我应该在 _oasis 中包含哪些内容?

您可以激活 ocamlbuild_more_args 功能。

在您的 _oasis 文件之上:

AlphaFeatures: ocamlbuild_more_args

然后,在您的包裹中:

XOCamlbuildExtraArgs: your_ocamlbuild_option

虽然我在 ocamlbuild 中找不到任何 -profile 选项,所以我不确定这是关于什么的。还有,这个选项还是比较不稳定。

一个更好的处理方法是相应地修改您的 _tags 文件。它是由绿洲生成的,但你可以修改它。

编辑:

setup.data 通知你环境变量。至于配置文件,它显示 -p 选项是否将传递给 ocamlopt。您可以使用 NativeOpt 字段传递它。

我建议您使用 _tags 文件,因为这是最简单的方法。只需将以下内容添加到您的 _tags:

<true> : profile

你运行这个命令:

echo "<true> : profile" >> _tags

在您的 _tags 文件所在的文件夹中。

如果您仍想使用 _oasis 文件,则可以使用 NativeOpt 字段添加将传递给本机编译器的选项,即 ocamlopt.

您可以通过将 --enable-profile 参数添加到 ./configure 标志来启用绿洲配置文件标志。但到目前为止,我只在启用本机代码编译(_oasis 中的CompiledObject: native)时才注意到任何效果。即使那样,分析生成也只是针对 gprof 完成的。