我已经使用
编译了我的Erlang模块rebar compile
在rebar.config中使用以下选项
{erl_opts, [native, {hipe, [verbose]}, warnings_as_errors, debug_info]}.
{eunit_compile_opts, [native, {hipe, [verbose]}, warnings_as_errors, debug_info]}.
我看到代码确实编译为native,因为我在编译期间看到Hipe消息,而.beam文件大小也比非本机编译大。
然而,当我跑
时rebar eunit
测试我的模块我总是弄错
code:is_module_native(?MODULE)
在我的测试模块中。
为什么rebar不能作为本机代码运行我的eunit测试?
我还将此行添加到reltool.config文件中,
{app, hipe, [{incl_cond, include}]},
螺纹钢2.1.0-pre 17 20140421_192321 git 2.1.0-pre-166-ged88055
答案 0 :(得分:1)
使用
定义的编译选项运行“rebar eunit”时,将重新编译代码{erl_opts, [native, {hipe, [verbose]}, warnings_as_errors, debug_info]}.
并由
定义的编译选项修改{eunit_compile_opts, [???]}.
您检查了这些选项吗?