动态加载erlang头文件

时间:2013-12-18 04:20:06

标签: erlang

我知道您可以使用“l(module_name)。”在erlang节点中动态加载erlang beam文件。我的问题是是否可以以相同的方式加载“.hrl”文件或某些类似的类似而无需重新启动erlang节点

2 个答案:

答案 0 :(得分:2)

我不确定这是否可行,但仅仅基于理解,当您尝试在url中定义宏并且想要修改它时,编译器会在编译erlang文件期间通过替换宏来替换宏在标题中定义。

逻辑上,您应该重新构建代码并再次部署它。如果您有动态替换整个代码的选项,我不明白为什么需要动态加载hrl文件的原因。恕我直言,你需要做的就是重建和升级,这也可以在不重启erlang节点的情况下完成。

答案 1 :(得分:0)

“。hrl”文件 - 仅在编译源上由编译器使用。它不是运行时文件。

您可以使用Mochi团队的流行自动重新加载器 https://github.com/mochi/mochiweb/blob/master/src/reloader.erl

将它们放入您的src /文件夹并添加到您的exec erl -s reloader选项