博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
erlang 动态编译和加载遇到的问题。
阅读量:5790 次
发布时间:2019-06-18

本文共 806 字,大约阅读时间需要 2 分钟。

erlang具有动态加载代码的能力。在开发过程中一般都让代码自动编译加载,这样开发起来很爽。

最有名项目应该是sync了地址:

最近在用rebar3 构建项目。而且又用到了erlydtl,在用sync自动编译dtl的时候出现了问题。
erlydtl 的编译配置是这样的。

{erlydtl_opts, [                {doc_root, "priv/templates"},                {outdir, "ebin"},                {compiler_options, [report, return, debug_info]},                {source_ext, ".dtl"},                {module_ext, "_view"}                ]}

但是sync编译出来文件结尾老是 _dtl.beam 而不是配置 {module_ext, "_view"} 应该产生的_view.beam,而且生成的beam的位置也不对。

只好翻源码,发现sync并不支持erlydtl_opts的配置,*_dtl.beam 命名是写死的。。sync动态编译dtl的这条路看来是走不通了。

然后翻rebar3 插件。发现了rebar3_auto 插件。简单建了个工程做实验没问题。但是当我在项目中天剑cowboy的后。rebar3_auto 只编译第一次。然后就失灵了。(而且inotify_wait 进程已经不再了。。 ),google后发早就有人爆出这个问题了,看来rebar3_auto 现在还没法用。

接着找到active,但是太小众了,主要支持的mad。对rebar也就是兼容。试了一下没成功也不想深入研究它。

到这的结果就是用rebar3 我还没找到一个好的reload的工具。。。苦逼啊

转载地址:http://ruqyx.baihongyu.com/

你可能感兴趣的文章
spring 之AOP
查看>>
总结 15/4/23
查看>>
守护进程
查看>>
Windows 7环境下网站性能测试小工具 Apache Bench 和 Webbench使用和下载
查看>>
C#常见错误解决方法
查看>>
安装cnpm (npm淘宝镜像)
查看>>
js 利用事件委托解决mousedown中的click
查看>>
游戏设计艺术 第2版 (Jesse Schell 著)
查看>>
Java 面向对象(基础) 知识点总结I
查看>>
miniUI mini-monthpicker ie8兼容性问题
查看>>
读书笔记《自控力》
查看>>
基于神念TGAM的脑波小车(1)
查看>>
ceph集群搭建Jewel版本
查看>>
HttpClient 解释
查看>>
111111
查看>>
在Button上面显示图片,去掉Button的默认样式
查看>>
区域生长算法
查看>>
(转)json+flexgrid+jbox组合运用页面刷新<jsp>
查看>>
hive学习2(Navicat连接hive)
查看>>
getResourceAsStream的3种路径配置
查看>>