gpt4 book ai didi

Erlang:NIF 和透析器警告

转载 作者:行者123 更新时间:2023-12-01 09:19:25 25 4
gpt4 key购买 nike

在实现 NIF 时,Dialyzer 给了我

Function crc16/1 has no local return



可能是因为我做 退出在 .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总是让 Dialyzer 提示此消息( -spec .. -> no_return() 没有帮助)。

如何解决这个问题?

最佳答案

您可以使用 erlang:nif_error/1/2 正是为此而创建的。

关于Erlang:NIF 和透析器警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26612625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com