【发布时间】:2014-12-24 02:39:55
【问题描述】:
在实现 NIF 时,Dialyzer 给了我
函数 crc16/1 没有本地返回
可能是因为我在 .erl 模块中 exit (就像官方文档推荐的那样):
-module(my_nifs).
-export([crc16/1]).
-on_load(init/0).
init() ->
ok = erlang:load_nif("../nifs/my_nifs", 0).
-spec crc16(_Binary :: binary()) -> non_neg_integer().
crc16(_Binary) ->
exit(nif_library_not_loaded).
...
通常,使用exit/1 似乎总是会让 Dialyzer 抱怨此消息(-spec .. -> no_return() 没有帮助)。
如何解决这个问题?
【问题讨论】:
标签: erlang dialyzer erlang-nif