Erlang里的文件包含

栏目: Erlang · 发布时间: 6年前

内容简介: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里的文件包含》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Programming Concurrency on the JVM

Programming Concurrency on the JVM

Venkat Subramaniam / The Pragmatic Bookshelf / 2011-6-1 / USD 35.00

Concurrency on the Java platform has evolved, from the synchronization model of JDK to software transactional memory (STM) and actor-based concurrency. This book is the first to show you all these con......一起来看看 《Programming Concurrency on the JVM》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

SHA 加密
SHA 加密

SHA 加密工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具