内容简介:Erlang中包含文件的语法有两个:它们其实是预编译指令。其中File是一个字符串,表示被包含文件的文件名相对路径或绝对路径。在Erlang中,一般需要被公用的记录和宏定义都放在被包含文件里,文件名后缀名为.hrl。
Erlang中包含文件的语法有两个:
- -include(File).
- -include_lib(File).
它们其实是预编译指令。其中File是一个字符串,表示被包含文件的文件名相对路径或绝对路径。
在Erlang中,一般需要被公用的记录和宏定义都放在被包含文件里,文件名后缀名为.hrl。
File可以使用操作系统的环境变量作为路径开头部分。比如:
-include(“\$PROJ_ROOT/my_records.hrl”).
Erlang将使用os:getenv(PROJ_ROOT)来获得操作系统的环境变量PROJ_ROOT的值,并替换”\$PROJ_ROOT/my_records.hrl”中的\$PROJ_ROOT。
如果File是绝对路径,则Erlang就按绝对路径来查找文件。如果File不是绝对路径,则Erlang按如下顺序来查找文件:
- 当前工作目录
- 编译后的模块所在目录
- 通过include选项给出的目录
include_lib不指定绝对路径。路径的第一部分被Erlang虚拟机认为是一个应用的名字。例如:
-include_lib(“kernel/include/file.hrl”).
Erlang使用code:lib_dir(kernel)来获得kernel应用的绝对路径,然后替换”kernel/include/file.hrl”里的kernel,最后得到绝对路径。
以上所述就是小编给大家介绍的《Erlang里的文件包含》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。