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

Erlang/OTP应用程序的头文件位置,erlang,directory-structure,otp,Erlang,Directory Structure,Otp,我应该将Erlang/OTP应用程序的.hrl头文件放在/src或/include目录中吗?来自: src必需。包含Erlang源代码、.app文件的源代码和应用程序本身使用的内部包含文件。[……] 包括-可选。用于必须可从其他应用程序访问的公共包含文件 这也可以解释为: 用例1: 您的项目有-定义d常量、解析转换等,这是其他人使用您的代码所必需的。示例包括qlc或webmachine 解决方案:将您的.hrl文件放入/include中。只要项目位于代码路径上,代码的客户端就可以使用-in

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

来自:

  • src必需。包含Erlang源代码、.app文件的源代码和应用程序本身使用的内部包含文件。[……]
  • 包括-可选。用于必须可从其他应用程序访问的公共包含文件

这也可以解释为:

用例1: 您的项目有
-定义
d常量、解析转换等,这是其他人使用您的代码所必需的。示例包括
qlc
webmachine

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


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

解决方案:
.hrl
文件放入
/src
中。您的代码可以使用
-include()
拉入
.hrl
文件


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

--凯文

相关的: