erlang 编译之 to_core

感谢 坚强2002 同学的推荐

http://www.it.uu.se/research/group/hipe/cerl/

main.erl

-module(main).
-export([start/0]).

start() ->
    ok.

c(main, to_core).

会产生中间代码文件 main.core

打开如下

main.core

module 'main' ['module_info'/0,
	       'module_info'/1,
	       'start'/0]
    attributes []
'start'/0 =
    %% Line 4
    fun () ->
	%% Line 5
	'ok'
'module_info'/0 =
    fun () ->
	call 'erlang':'get_module_info'
	    ('main')
'module_info'/1 =
    fun (_cor0) ->
	call 'erlang':'get_module_info'
	    ('main', _cor0)
end

我们继续使用 c(main, from_core).

这样会把 main.core 编译为 main.beam 文件。

使用 to_core 编译参数,有助于我们了解代码执行的过程,我暂时理解为 c# 编译 为 IL 中间代码吧。

你可能感兴趣的:(erlang)