Erlang / OTP应用程序的头文件位置

时间:2018-02-06 12:39:47

标签: erlang directory-structure otp

我应该在1.hrl目录中放置Erlang / OTP应用程序的/src个头文件吗?

1 个答案:

答案 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个常量,解析变换等,其他人需要才能使用您的代码。示例包括qlcwebmachine

     

解决方案:将.hrl个文件放入/include。只要您的项目位于代码路径上,代码的客户就可以使用-include_lib()加载.hrl个文件。

           

用例2:您已在.hrl文件中集中了常用常量等。这些常量旨在由项目代码内部使用。这意味着任何客户都不需要访问它们。

     

解决方案:将.hrl个文件放入/src。您的代码可以使用-include()来提取.hrl个文件。

           

请记住,两个include指令都是编译时构造。您可以将所有头文件放在/src中,使用-include()编译代码,然后通过将头文件复制到/include来选择性地“导出”要发布的头文件。我做了很多,因为它使我的编译过程更容易 - 没有代码路径到futz - 它使我的客户端代码更清洁 - 他们可以使用-include_lib()来查找我的公共头文件。

     

- 凯文