gpt4 book ai didi

erlang - 我可以将包含目录添加到 erl 命令中吗?

转载 作者:行者123 更新时间:2023-12-02 05:18:13 25 4
gpt4 key购买 nike

当使用 erlc 编译 erlang 文件时,我可以添加其他包含目录,如下所示:

erlc -I /home/trotter/code/open-source/yaws/include src/myapp.erl

但是,当我从 erl 内进行编译时,我看不到在命令行上执行此操作的方法。相反,我必须在 repl 中执行以下操作:

> compile:file("src/myapp", 
[verbose,
report_errors,
{i,"/home/trotter/code/open-source/yaws/include"}]).

是否有更好的方法来做到这一点,我不知道,例如将一些命令行参数传递给 erl?如果没有,任何关于干燥这个问题的建议要求我每次编译时都输入讨厌的路径。

最佳答案

我很少从 shell 进行编译 - 仅适用于使用 c(foo) 的小型测试脚本。我的设置是这样的:

我有一个构建基础设施。 make 构建软件(make 只是这里 rebar 的包装器)。然后,我可以通过点击绑定(bind)到 compile emacs 命令的 F12emacs 中构建代码。在 vim 中,如果我没记错的话(已经有几年了),你可以使用 :make 命令做同样的事情。现在,这当然会构建代码并将其放入 ebin 目录中。

下一步是在了解 ebin 目录的情况下启动 Erlang:

 erl -pa ./ebin

这意味着对模块foo的任何引用都会检查./ebin/foo.beam。当我发现我必须修复一些代码时,我在编辑器中修复它,使用 F12 编译代码,然后在 shell 中执行 l(foo) -加载代码。

它还有一个优点,即任何编译错误现在都在编辑器的管辖范围内,因此我可以快速跳转到错误并修复它。

关于erlang - 我可以将包含目录添加到 erl 命令中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4354587/

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