【发布时间】:2013-12-19 16:46:11
【问题描述】:
我知道您可以使用“l(module_name).”在 erlang 节点中动态加载 erlang 梁文件。我的问题是是否可以以相同的方式或类似的方式加载“.hrl”文件而无需重新启动 erlang 节点
【问题讨论】:
标签: erlang
我知道您可以使用“l(module_name).”在 erlang 节点中动态加载 erlang 梁文件。我的问题是是否可以以相同的方式或类似的方式加载“.hrl”文件而无需重新启动 erlang 节点
【问题讨论】:
标签: erlang
我不确定这是否可能,但只是基于理解,当您尝试在 url 中定义宏并想要修改它时,编译器会在编译 erlang 文件期间通过替换宏来替换宏在标题中定义。
从逻辑上讲,您应该重新构建代码并再次部署它。如果您可以选择动态替换整个代码,我不明白为什么需要动态加载 hrl 文件。恕我直言,您需要做的就是重建和升级,这也可以在不重新启动 erlang 节点的情况下完成。
【讨论】:
".hrl" 文件 - 仅由编译器在编译源上使用。它不是运行时文件。
您可以使用 Mochi 团队流行的自动加载器 https://github.com/mochi/mochiweb/blob/master/src/reloader.erl
将它们放入您的 src/ 文件夹并添加到您的 exec erl -s reloader 选项中
【讨论】: