Erlang - Bộ tiền xử lý
Trước khi một mô-đun Erlang được biên dịch, nó sẽ được tự động xử lý bởi Bộ tiền xử lý Erlang. Bộ tiền xử lý mở rộng bất kỳ macro nào có thể có trong tệp nguồn và chèn bất kỳ tệp bao gồm cần thiết nào.
Thông thường, bạn sẽ không cần phải xem đầu ra của bộ tiền xử lý, nhưng trong những trường hợp ngoại lệ (ví dụ: khi gỡ lỗi macro bị lỗi), bạn có thể muốn lưu đầu ra của bộ tiền xử lý. Để xem kết quả của việc xử lý trước mô-đunsome_module.erl đưa ra lệnh hệ điều hành shell.
erlc -P some_module.erl
Ví dụ: giả sử nếu chúng ta có tệp mã sau:
Thí dụ
-module(helloworld).
-export([start/0]).
-include("user.hrl").
start() ->
io:fwrite("~w",[?macro1(1,2)]).
Và nếu chúng ta thực hiện lệnh sau từ dòng lệnh:
erlc –P helloworld.erl
Một tệp được gọi là helloworld.Psẽ được tạo. Nếu bạn mở tệp này, bạn sẽ thấy nội dung sau đây là nội dung mà bộ tiền xử lý sẽ biên dịch.
-file("helloworld.erl", 1). -module(helloworld).
-export([start/0]).
-file("user.hrl", 1).
-file("helloworld.erl", 3).
start() ->
io:fwrite("~w", [{1 + 2}]).