Erlang 預(yù)處理器

在編譯 Erlang 模塊之前,Erlang 預(yù)處理器會(huì)自動(dòng)處理該模塊。預(yù)處理器擴(kuò)展源文件中可能存在的任何宏,并插入任何必要的包含文件。

通常,您不需要查看預(yù)處理器的輸出,但在特殊情況下(例如,調(diào)試一個(gè)錯(cuò)誤的宏時(shí)),您可能希望保存預(yù)處理器的輸出。查看對(duì)模塊some_module進(jìn)行預(yù)處理的結(jié)果。erl給出操作系統(tǒng)的shell命令。

erlc -P some_module.erl

例如,假設(shè)我們有以下代碼文件-

在線(xiàn)示例

-module(helloworld). 
-export([start/0]). 
-include("user.hrl"). 

start() -> 
   io:fwrite("~w",[?macro1(1,2)]).

如果我們從命令行執(zhí)行以下命令-

erlc –P helloworld.erl

將生成一個(gè)名為 helloworld.P 的文件。如果您打開(kāi)這個(gè)文件,您會(huì)發(fā)現(xiàn)以下內(nèi)容,這是預(yù)處理程序?qū)⒁幾g的內(nèi)容。

-file("helloworld.erl", 1). -module(helloworld).

-export([start/0]).
-file("user.hrl", 1).
-file("helloworld.erl", 3).

start() ->
   io:fwrite("~w", [{1 + 2}]).
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清