Erlang:NIF 和透析器警告

2024-04-02

在实施 NIF 时,Dialyzer 给了我

函数 crc16/1 没有本地返回

可能是因为我这样做exit在 .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 http://www.erlang.org/doc/man/erlang.html#nif_error-1正是为此而创建的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Erlang:NIF 和透析器警告 的相关文章

  • 何时“让它崩溃”以及何时捍卫 Erlang 中的代码?

    因此 带着 让它崩溃 的口号 Erlang 代码意味着能够抵御残酷的世界事件 例如意外拔出插头 硬件故障和不稳定的网络连接 另一方面 有防御性编程 https en wikipedia org wiki Defensive programm
  • Erlang中socket的“packet”选项怎么能如此加速tcp传输呢?

    使用 packet 4 通过本地主机上的两个不同端口传输1G数据只需要8秒 而使用 packet raw 则无法在30秒内完成相同的任务 我知道如果使用后一种方法 数据将以数万个小块的形式到达 在archlinux上大小为1460字节 我已
  • 如何使用 Erlang 发送推送通知?

    我正在尝试使用 Erlang 向 APNs 发送推送通知 这是我到目前为止想出的代码 module apnstest2 export connect 0 connect gt application start ssl ssl seed s
  • 基于代理/参与者的并发设计的设计模式[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 最近 我一直在研究支持参与者 代理 无共享架构的替代语言 即 scala clojure 等 clojure 也支持共享状态 到目前为止 我读过
  • `ejabberdctl start` 导致“内核 pid 终止”错误 - 我该怎么办?

    我用谷歌搜索了三个小时但没有结果 我有一个 ejabberd 安装 但不是使用 apt 安装的 它是从源代码安装的 其中没有名为 ejabberd 的程序 启动和停止 一切都是通过 ejabberdctl 进行的 它完美地运行了一个月 突然
  • Erlang 代码的持续集成服务器

    您使用什么类型的敏捷工具进行 Erlang 开发 什么持续集成 http en wikipedia org wiki Continuous integration您使用 CI 服务器来构建 Erlang 代码吗 我得到的唯一参考来自 Quo
  • Erlang:如何从体内引用匿名函数?

    In Erlang http en wikipedia org wiki Erlang programming language 有没有办法引用当前正在执行的函数 这对于产生无限循环很有用 spawn fun gt do something
  • erlang中如何将中缀转换为后缀?

    我刚刚遇到这个帖子 https stackoverflow com questions 4621151 the shortest way to convert infix expressions to postfix rpn in c 相当
  • 如何在没有任何服务器的情况下创建 P2P 网络聊天?

    有没有一种方法可以在没有任何服务器的情况下创建 P2P 网络聊天 可以 但是您必须决定见面地点 如果你的朋友把他的IP发给你 你就可以连接 那么你只需要告诉更多的人加入即可 一段时间后 你会变得越来越大 然后 如果网络上的某个链接发生故障
  • Erlang 中的二进制和位串有什么区别?

    在 Erlang shell 中 我可以执行以下操作 A 300 300 lt
  • Erlang停止gen_server

    我有 gen server start UserName gt case gen server start global UserName player of ok gt io format Player UserName started
  • Erlang - 导入 GPG 公钥

    我正在尝试在 Erlang 中做一些与公钥相关的事情 它们要求我跟踪公钥 根据这一页 http www erlang org doc apps public key using public key html id61611 我应该能够通过
  • 我们如何有效地处理 mnesia 记录的时间相关约束?

    我正在将记录写入mnesia 该记录应该保存在那里 仅在允许的时间 24 小时 内 24小时后 在用户修改其中的一部分之前 系统应该自动删除它们 例如 用户获得免费通话时间 用于语音通话 他们应该在给定时间内使用它们 如果他们不使用它 24
  • Erlang 参与者与 OOP 对象有何不同?

    假设我有一个 Erlang actor 定义如下 counter Num gt receive From increment gt From self new value Num 1 counter Num 1 end 同样 我有一个 Ru
  • 在 Erlang 中展平嵌套列表的列表

    我正在做练习Erlang编程 问题是 编写一个函数 给定一个嵌套列表的列表 该函数将返回一个平面列表 例子 flatten 1 2 3 4 5 6 1 2 3 4 5 6 提示 使用concatenate解决flatten 这是我的conc
  • Erlang 更好地支持哪种数据库(SQL)?

    你建议我在 Erlang 中使用什么 MySQL 还是 Postgres 哪个数据库有更好 更成熟 更稳定 更快 的 Erlang 驱动程序 The Erlang ODBC 接口 http erlang org doc apps odbc
  • 拦截登录/注销ejabberd

    我想知道用户何时在自定义模块中的 ejabberd 会话中登录和注销 而不更改 ejabberd 代码 我需要它 因为我必须在用户登录时执行一些操作 并清理用户注销时执行的操作 另外 在某些情况下我需要能够注销用户 那么 有没有办法扩展某些
  • 停止 Erlang 守护进程

    除了跑步 killall 9 beam smp 当我知道 Erlang 节点的情况时 如何以编程方式杀死它 sname 如果我不希望心跳监视器重新启动该进程 如何确保上述问题的任何答案也会终止心跳 有没有一个不错的指南来将 Erlang 部
  • Erlang 如何睡觉(晚上?)

    我想在 Erlang 服务器上每隔几个小时运行一次小型清理过程 我知道计时器模块 我在教程中看到一个示例 使用链式计时器 睡眠命令来等待几天后发生的事件 我觉得这很奇怪 我知道 Erlang 进程与其他语言中的进程相比是独一无二的 但是进程
  • Erlang 中的接受器池和负载平衡?

    From http www erlang org doc man gen tcp html accept 1 http www erlang org doc man gen tcp html accept 1 值得注意的是 accept 调

随机推荐

  • cygwin rsync协议错误

    我正在尝试在 64 位 Windows 7 和 64 位 Linux 之间 rsync 文件 我在两台机器上都安装了 rsync 3 0 7 Windows 上的 cygwin 版本 这是我在 Windows 上运行的命令 我看到它正在建立
  • 初始数据夹具中的用户

    我在默认情况下创建了一些用户fixtures initial data json从而有一些测试 科目 我遇到的问题是密码生成 我可以在 字段 中设置密码 但这不会生成哈希密码 model auth user pk 1 fields user
  • std::make_unique 和 std::unique_ptr 与 new 之间的差异

    Does std make unique有任何效率优势 例如std make shared 与手动构建相比std unique ptr std make unique
  • 有序列表 CSS 样式包括父编号

    我们希望使用 CSS 创建一个如下所示的有序列表 A A 1 A 2 B C C 1 C 2 C 2 1 C 2 2 您如何将父索引包含在子索引中 你需要使用CSS 计数器 https developer mozilla org en US
  • Chart.js 将标签变成链接

    我不确定如果不做以下事情是否可能 在 HTML 画布中创建链接 https stackoverflow com questions 6215841 create links in html canvas但让我们确定一下 有没有一种方法 相对
  • 计算 python 中第二个列表中列表项的出现次数

    a list 1 2 3 4 5 6 7 8 9 0 b list 1 3 6 9 如何计算列表be中的某个项目在列表a中出现的次数 上面的示例应返回值 4 在写这个问题时 我想到了以下内容 似乎有效 a list 1 2 3 4 5 6
  • C++ 容器的一般用例

    的一般用例是什么C 标准库容器 http www cplusplus com reference stl bitset deque list map multimap multiset 优先队列 queue set stack vector
  • Linq 在 C# 中比较两个集合

    我想比较我当前正在使用嵌套 for 循环执行的 C 中的两个集合 Linq 中是否有一种方法可以更快 更高效地执行相同操作 这是我当前的代码 它可以完美地工作 只是在寻找一种有效的方法 OrgCollection myYears Org R
  • 足球(足球)场线的单应性

    我正在研究使用足球比赛的视频 并尝试使用单应性将帧映射到球场的俯视图 我已经开始使用霍夫线以及线段检测器找到帧中的所有白线 其中线段检测器似乎工作得稍微好一些 请参阅下面我的代码和示例 import cv2 import numpy as
  • Scala 中的 shouldBe 和 shouldEqual 有什么区别?

    我什么时候应该使用shouldBe 什么时候应该使用shouldEqual port shouldEqual 8000 port shouldBe 8000 From http www scalatest org user guide us
  • 设置 ng-htmljs-preprocessor karma 预处理器

    我正在设置 Karma 配置文件 但我不完全理解存在的一些选项 因为我没有成功测试已通过 ngHtml2JsPreprocessor 运行并已 templateCached 在 ngHtml2JsPreprocessor 内部 我可以添加一
  • 无法从 Git post-receive hook 检测分支

    我在远程存储库上设置了一个后接收挂钩 它尝试确定传入推送的分支名称 如下所示 branch git rev parse abbrev ref HEAD 不过 我发现无论我从 branch 变量推送哪个分支 都会设置为 master 有任何想
  • 如何在 Visual Studio 2017 中将 npm 包与 ASP.NET CORE 2 一起使用?

    我在 Visual Studio 2017 中向我的 ASP NET Core 2 项目添加了一些 npm 包 现在我想使用这些包中的 css 和 js 文件 但 VS 看不到它们 因为 node modules 文件夹位于 wwwroot
  • 正则表达式:重复组仅获取最后一组

    My data stack 123 overflow 456 others st 7 ov 7 againothers m 11 t 12 m 13 t 14 m 15 t 16 st 8 ov 8 againothers m 17 t 1
  • Svg 在设备中不可见,但在 android xml 中可见

    我对这些图标使用了 SVG 这些图标在 xml 中可见 但在 device 中不可见 以下是我的代码
  • png8和png24有什么区别

    我想了解 png 文件的用途 有两种格式可供选择PNG 图像 一个是png8另一个是png24 我想知道如果我在我的html页面会出现错误吗 或者这只是质量问题 只有一种PNG格式 但支持5种颜色类型 http en wikipedia o
  • Android Kotlin 中的片段类型不匹配

    我将一步步尝试在 Kotlin Android 中创建一个简单的选项卡布局 我对我发现的很多教程感到非常沮丧 因为它们要么 1 有效 但设计过度 很难看出发生了什么 要么 2 似乎不起作用 这是情况 2 中的一种 非常接近工作 但有一些问题
  • 使用 hibernate @Formula 获取集合

    我有类似的数据库结构 唯一的区别是我在从 A 到 C 实体的路径上有更多表 我对该结构有以下映射 Entity Table name a class A Id private int id private String title Elem
  • scikit-learn:如何计算百分比均方根误差(RMSE)?

    我有一个数据集 在此链接中找到 https drive google com open id 0B2Iv8dfU4fTUY2ltNGVkMG05V00 https drive google com open id 0B2Iv8dfU4fTU
  • Erlang:NIF 和透析器警告

    在实施 NIF 时 Dialyzer 给了我 函数 crc16 1 没有本地返回 可能是因为我这样做exit在 erl 模块中 如官方文档推荐 module my nifs export crc16 1 on load init 0 ini