我应该在1
或.hrl
目录中放置Erlang / OTP应用程序的/src
个头文件吗?
答案 0 :(得分:2)
来自:http://erlang.org/doc/design_principles/applications.html
- src - 必填。包含Erlang源代码,.app文件的来源和应用程序本身使用的内部包含文件。 [...]
- 包含 - 可选。用于必须可从其他应用程序访问的公共包含文件。
这也解释为:http://erlang.org/pipermail/erlang-questions/2009-July/045516.html
使用案例1: 您的项目有
-define
个常量,解析变换等,其他人需要才能使用您的代码。示例包括qlc
或webmachine
。解决方案:将
.hrl
个文件放入/include
。只要您的项目位于代码路径上,代码的客户就可以使用-include_lib()
加载.hrl
个文件。用例2:您已在
.hrl
文件中集中了常用常量等。这些常量旨在由项目代码内部使用。这意味着任何客户都不需要访问它们。解决方案:将
.hrl
个文件放入/src
。您的代码可以使用-include()
来提取.hrl
个文件。请记住,两个include指令都是编译时构造。您可以将所有头文件放在
/src
中,使用-include()
编译代码,然后通过将头文件复制到/include
来选择性地“导出”要发布的头文件。我做了很多,因为它使我的编译过程更容易 - 没有代码路径到futz - 它使我的客户端代码更清洁 - 他们可以使用-include_lib()
来查找我的公共头文件。- 凯文