Erlang rebar源码学习(二)

之前说了rebar编译的核心部分(rebar_base_compile:run/4方法),现在我们就完整的看下Erlang编译流程( 不准备细致的分析每一行代码,只罗列其中较为重要的部分

编译的入口方法是: rebar_erlc_compiler:compile/2



其中doterl_compile负责编译我们写的Erlang源代码文件,我们来看下它的相关代码



注意观察第208行代码,这就是我们上一节说的核心编译部分(串行编译和并行编译),其中:
fun(S, C) ->
      internal_erl_compile(C, S, OutDir1, ErlOpts)
end

用来做为run方法的第四个参数:CompileFn,我们看下它究竟做了些什么:



简单来说,只有 当源文件最后修改时间 > 之前生成的目标文件(*.beam)才会重新编译,其余情况都会跳过编译



猜你喜欢

转载自diaocow.iteye.com/blog/1776671
今日推荐