- Erlang 教程
- Erlang - 首页
- Erlang - 概述
- Erlang - 环境
- Erlang - 基本语法
- Erlang - Shell
- Erlang - 数据类型
- Erlang - 变量
- Erlang - 运算符
- Erlang - 循环
- Erlang - 决策
- Erlang - 函数
- Erlang - 模块
- Erlang - 递归
- Erlang - 数字
- Erlang - 字符串
- Erlang - 列表
- Erlang - 文件 I/O
- Erlang - 原子
- Erlang - 映射
- Erlang - 元组
- Erlang - 记录
- Erlang - 异常
- Erlang - 宏
- Erlang - 头文件
- Erlang 预处理器
- Erlang - 模式匹配
- Erlang - 保护条件
- Erlang - BIFS (内置函数)
- Erlang - 二进制
- Erlang - Fun
- Erlang - 进程
- Erlang - 邮箱
- Erlang - 数据库
- Erlang - 端口
- Erlang - 分布式编程
- Erlang - OTP
- Erlang - 并发
- Erlang - 性能
- Erlang - 驱动程序
- Erlang - Web编程
- Erlang 有用资源
- Erlang - 快速指南
- Erlang - 有用资源
- Erlang - 讨论
Erlang 预处理器
在编译 Erlang 模块之前,它会自动由 Erlang 预处理器进行处理。预处理器会展开源文件中可能存在的任何宏,并插入任何必要的包含文件。
通常,您不需要查看预处理器的输出,但在特殊情况下(例如,调试有问题的宏时),您可能希望保存预处理器的输出。要查看模块 some_module.erl 的预处理结果,请使用操作系统 shell 命令。
erlc -P some_module.erl
例如,假设我们有以下代码文件:
示例
-module(helloworld). -export([start/0]). -include("user.hrl"). start() -> io:fwrite("~w",[?macro1(1,2)]).
如果我们从命令行执行以下命令:
erlc –P helloworld.erl
将生成一个名为 helloworld.P 的文件。如果您打开此文件,您将找到以下内容,这就是预处理器将编译的内容。
-file("helloworld.erl", 1). -module(helloworld). -export([start/0]). -file("user.hrl", 1). -file("helloworld.erl", 3). start() -> io:fwrite("~w", [{1 + 2}]).
广告