头文件类似于任何其他编程语言中的包含文件。将模块分割成不同的文件,然后将这些头文件访问到不同的程序中,这种方法很有用。要查看运行中的头文件,让我们看看前面的一个记录示例。
首先创建一个名为user.hrl的文件,并添加以下代码-
-record(person, {name = "", id}).
现在在我们的主程序文件中,添加以下代码-
-module(helloworld). -export([start/0]). -include("user.hrl"). start() -> P = #person{name = "John",id = 1}, io:fwrite("~p~n",[P#person.id]), io:fwrite("~p~n",[P#person.name]).
正如您在上面的程序中看到的,我们实际上只是包含了 user.hrl 文件,该文件会自动地在其中插入-record 代码。
如果执行上述程序,将得到以下输出。
1 “John”
您也可以对宏执行相同的操作,可以在头文件中定义宏并在主文件中引用它。让我们看一个实例-
首先创建一个名为user.hrl的文件,并添加以下代码-
-define(macro1(X,Y),{X+Y}).
现在在我们的主程序文件中,添加以下代码-
-module(helloworld). -export([start/0]). -include("user.hrl"). start() -> io:fwrite("~w",[?macro1(1,2)]).
如果执行上述程序,将获得以下输出-
输出结果
{3}