繁体   English   中英

Erlang:NIF和透析仪警告

[英]Erlang: NIFs and dialyzer warning

实施NIF时,Dialyzer给了我

函数crc16 / 1没有本地返回

可能是因为我确实退出了.erl模块(如官方文档建议的那样):

-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会使-spec .. -> no_return()抱怨此消息( -spec .. -> no_return()没有帮助)。

如何解决?

您可以使用erlang:nif_error/1/2来创建它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM