Tro*_*ter 7 erlang erlang-shell
使用erlc
我编译erlang文件时可以添加其他包含目录,如下所示:
erlc -I /home/trotter/code/open-source/yaws/include src/myapp.erl
Run Code Online (Sandbox Code Playgroud)
当我从内部编译时erl
,我没有看到在命令行上执行此操作的方法.相反,我必须在repl中执行以下操作:
> compile:file("src/myapp",
[verbose,
report_errors,
{i,"/home/trotter/code/open-source/yaws/include"}]).
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来做我不知道的事情,例如将一些命令行参数传递给erl?如果没有,任何干涸的建议都不需要我每次编译时输入令人讨厌的路径.
我很少从shell编译 - 只适用于带有的小型测试脚本c(foo)
.我的设置是这样的:
我有一个构建基础架构.make
构建软件(make只是rebar
这里的包装器).然后我可以emacs
通过命中F12
绑定到compile
emacs命令从内部构建代码.在vim
你可以做同样用:make
命令,如果我的vim记错的话(它一直是几年).现在这当然构建代码并将其放入ebin
目录中.
下一步是启动Erlang,了解有关ebin
dir的知识:
erl -pa ./ebin
Run Code Online (Sandbox Code Playgroud)
这意味着对模块的任何引用foo
都会进行检查./ebin/foo.beam
.当我弄清楚我必须修复一些代码时,我在编辑器中修复它,编译代码F12
然后l(foo)
在shell中执行,这会加载代码.
它还有一个优点,任何编译错误现在都在编辑器的管辖范围内,所以我可以快速跳转到错误并修复它.
归档时间: |
|
查看次数: |
3721 次 |
最近记录: |