从 NIF 调用 Erlang 函数

2023-11-22

是否可以从 NIF 调用 Erlang 函数(回调函数)?

我读了文档(http://www.erlang.org/doc/man/erl_nif.html),但没有找到如何做到这一点。


不,从 NIF 调用 Erlang 函数是不可能的。您可以在 Erlang 函数中实现您的功能,该函数调用私有 NIF,该 NIF 返回一个值,指示是否需要调用回调,或者您可以使用以下命令将消息发送到另一个进程:enif_send并让它为您调用回调函数。

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

从 NIF 调用 Erlang 函数 的相关文章

  • 当在 erlang 模块上调用“new”时,它会做什么?

    我见过 Erlang 代码中使用了 module name new 但是 module name 模块中没有引用 new 函数 新 有什么作用 它用于 参数化模块 参见here http yarivsblog com articles 20
  • `ejabberdctl start` 导致“内核 pid 终止”错误 - 我该怎么办?

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

    您使用什么类型的敏捷工具进行 Erlang 开发 什么持续集成 http en wikipedia org wiki Continuous integration您使用 CI 服务器来构建 Erlang 代码吗 我得到的唯一参考来自 Quo
  • Erlang 中事件流(又名 CEP)的实时关联/分析有什么框架吗?

    想要分析具有某些特征 例如公共来源 的事件流 并在给定的时间窗口内 最终将这些多个事件关联起来并从中得出一些推论 最后启动一些操作 我对复杂事件处理 CEP 的有限了解告诉我 它是此类事情的理想选择 然而 在我迄今为止的研究中 我发现人们将
  • Erlang中如何维护状态?

    我见过人们使用口述 命令 记录用于维护我读过的许多博客中的状态 我发现这是一个非常重要的概念 一般来说 我理解维护状态和递归的含义 但是当涉及到 Erlang 时 我对它的处理方式有点模糊 有什么帮助吗 维护状态的最简单方法是使用gen s
  • Erlang 进程和消息传递架构

    我手头的任务是读取大文件的行 处理它们 并返回有序结果 我的算法是 从评估工作负载的主进程开始 写在文件的第一行 生成工作进程 每个工作进程将使用 pread 3 读取文件的一部分 处理这部分 并将结果发送给 master master接收
  • Erlang 中的二进制和位串有什么区别?

    在 Erlang shell 中 我可以执行以下操作 A 300 300 lt
  • Erlang 生成问题

    我在 erlang 中遇到了 spawn 问题 似乎进程在一段时间后就死掉了 这是简单的代码 module simple export server 1 client 1 owner 1 spawn n 2 start 1 main 1 s
  • 为什么使用erts_debug:size/1时atom的内存为零?

    I use erts debug size 1计算erlang VM中atom的内存 但我发现输出为零 谁能解释一下原因 7 gt erts debug size true 0 原因是原子与原子的数据一起保存在原子表中 因此整个节点中只有一
  • Erlang停止gen_server

    我有 gen server start UserName gt case gen server start global UserName player of ok gt io format Player UserName started
  • 有没有办法对默认记录值进行查找?

    给定一个记录 record something id integer name string email undefined string undefined 有没有办法获取字段的默认值 在本例中得到的事实是 something email
  • Erl 无法连接到本地 EPMD。为什么?

    Erlang R14B04 erts 5 8 5 source 64 bit rq 1 async threads 0 kernel poll false Eshell V5 8 5 abort with G root ip 10 101
  • Erlang:如何将小数转换为填充零的十六进制字符串

    我想在 Erlang 中将 42 基数 10 转换为 000002A 基数 16 我在网上找到了一些提示 io format 8 0B n 42 gt 00000042 And io format 16B n 42 gt 2A 但我似乎无法
  • 如何通过 SSL 从 Phoenix Web App 连接到 PostgreSQL?

    When trying to run Elixir Phoenix Web Application using PostgreSQL Database hosted 3rd party Database as a Service Azure
  • 如何将列表转换为元组列表?

    我想转换 z z a z z a a z to z 2 a 1 z 2 a 2 z 1 我该怎么做 所以 我需要累积以前的值 它的计数器和元组列表 我已创建记录 record acc previous counter tuples 重新定义
  • 如何在 Erlang 中将数字转换为单词?

    我发现了一个关于将数字转换为 单词 的有趣问题 代码高尔夫 数字到单词 https stackoverflow com questions 309884 code golf number to words 我真的很想看看你如何在 Erlan
  • Erlang 中的变量

    我有一个非常简单的 Erlang 程序 module test export start 0 Code Z00887 start gt io fwrite Code 我有以下两个错误 c erl6 1 dev test erl 4 之前的语
  • Erlang 中的非终止函数类型

    我正在学习 Erlang 并尝试使用 Dialyzer 在可能的情况下获得最大的类型安全性 有一点不太明白 什么是类型非终止的函数以及如何表示它 spec 有人能解释一下吗 永远循环且永不终止的函数具有返回类型no return 该返回类型
  • 在 Erlang shell 中加载项目 Rebar 依赖项的简单方法

    我有一个使用 Rebar 作为构建工具的项目 开发时 我希望 Rebar config 中指定的所有应用程序依赖项都能尽可能轻松地编译并加载到 shell 中 我在 Emacs 中使用 Erlang shell 有什么快速方法可以做到这一点
  • Cowboy 中的 http 处理程序和 websocket 处理程序之间的通信

    我想在 Cowboy 中创建一个 websocket 应用程序 它从另一个 Cowboy 处理程序获取数据 假设我想结合牛仔的 Echo get 示例 https github com ninenines cowboy tree maste

随机推荐

  • 如何停止 Elmah 日志记录?

    我在 Azure 网站上使用 Elmah MVC 2 和 MVC3 ASP NET 4 5 我已将其设置为通过 web config 记录到网络服务器上的 XML 文件 这一切都有效 但是我想暂时停止它 因为我相信它可能会减慢网络服务器的速
  • 如何找到浏览器中断文本段落的位置

    我需要在浏览器自然在文本段落中添加换行符的位置添加换行符 例如 这是一段很长的文字 n跨越段落中的多行 这是浏览器选择在以下位置中断的段落 n 我需要找到这个位置并插入一个 有谁知道有什么 JS 库或函数可以做到这一点吗 到目前为止 我找到
  • 如何在外部隐藏/显示 ng-grid 列?

    我在用ng grid我想去哪里隐藏 显示外部列按钮点击 我尝试过这个 但它不起作用 scope gridOptions gridScope columns 0 toggleVisible 尝试使用 ng click 指令 你的 html 按
  • 如何告诉 gcc 在 switch/case 语句上不间断地发出警告(或失败)?

    我有一个复杂的switch声明 我忘了加上break在其中之一的末尾cases 这是相当合法的 因此我陷入了下一个case 如果我忽略了 有什么方法可以让 gcc 发出警告 甚至更好 失败 break陈述 我意识到有许多有效的用例 并且我经
  • 将数字 (22,21) 映射到 BigDecimal 时,Hibernate 导致结果精度损失

    我在 Oracle 11g 中将此列映射为 NUMBER 21 20 在 Hibernate 中映射为 Column name PESO precision 21 scale 20 nullable false public BigDeci
  • Workflow Foundation - Literal 仅支持值类型和不可变类型 System.String

    我对名为 MyCodeActivity 的 WF 代码活动进行了以下单元测试 ExpectedException typeof ArgumentException TestMethod public void ShouldRequirePa
  • Chartjs:尝试旋转 y 轴标签

    我尝试过类似的事情maxRotate and rotate 将它们放入scaleLabel等等 我在文档中找不到任何内容 谷歌上的搜索结果也没有多大帮助 var myChart new Chart ctx type line data ch
  • 在 PHP 中包含大量文件(就像基于文件的会话一样)是否不好?

    在阅读了基于文件的 PHP 会话对于性能而言如何不是最好的之后 我开始思考 这是否意味着包含大量文件的 PHP 脚本也很糟糕 因为它包含一个文件 或者这与检索会话数据文件的方式不同 您应该使用 spl autoload register 和
  • 自动跟踪程序执行[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我想知道我们是否可以在任何 C 或 C 应用程序中启用跟踪 例如 使用 gcc 选项或小工具 我将启用跟踪 并将跟踪打印在控制台上或转储到文件中 由
  • C++1z 范围的状态? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 C 委员会中有一个关于范围的研究小组 但我没有关注这个研究组的历史 并且我不确定 C 1z 预计会提供什么样的交付 而且我不使用 boost range 所以我对现有实践没有清晰的看
  • 在 SQLAlchemy 中查询混合属性

    我将文件路径存储为数据库中的相对路径 但随后使用混合属性在映射时将其转换为绝对路径 当我使用此属性查询时 它会抛出错误 这是模型 class File Base tablename files f path Column Unicode 3
  • 文本框宽度问题 - ASP.NET

    我在网站页面上有一个生成文本框的用户控件 文本框已指定宽度 但文本框间歇性地以比代码中指定的宽度小得多的宽度显示 我要求用户向我发送 查看源代码 输出的副本 以便我可以比较好结果和坏结果 我所说的 间歇性 是指类似的构建 不同的计算机 请注
  • 在商业软件中分发jquery许可证[关闭]

    Closed 这个问题是无关 目前不接受答案 我正在构建一个使用 jquery 的商业 Web 应用程序 我想我需要使用MITjquery 的许可证 因为该应用程序是商业应用程序 当我在维基百科上查看 MIT 许可证时 它说 这是一个宽松的
  • 无法连接到“localhost”上的 MySQL 服务器 (10061)

    我最近在 Windows 2003 上安装了 MySQL 5 并尝试配置实例 一切工作正常 直到我进入 应用安全设置 此时它给了我上述错误 Can t connect to MySQL server on localhost 10061 我
  • 使用ANT更新内部版本号并注入源代码

    在我的 build xml 文件中 我在属性文件中增加构建版本号 如下所示
  • Python 中的构造“ if __name__ == '__main__' ” [重复]

    这个问题在这里已经有答案了 我已经阅读了很多关于此的文章 if name main 但我不明白 我将分享你的代码 更简短的解释是什么 我创建了一个文件 ab py def a print A function in ab file a 第二
  • “git checkout --” 和有什么不一样?和“git Reset HEAD --hard”?

    这不是关于 的作用的一般问题 如标记的重复项中所示 这是一个特定于 git 的问题 要求澄清上述命令之间的操作差异 如果我想清理当前目录而不存储或提交 我通常使用以下命令 git reset HEAD hard git clean fd 一
  • 在 JSP 中编写 URL

    假设我当前的 URL 是 app jsp filter 10 sort name 我在 JSP 中有一个分页组件 它应该包含如下链接 app jsp filter 10 sort name page xxx 如何通过向当前 URL 添加新参
  • 如何在javascript中获取输入文本长度并验证用户

    我想根据输入字段右侧的长度 对于我的情况五 来验证用户在创建帐户时输入的用户名和密码是否安全 通过以不同的颜色显示 即较短 的红色 否则为绿色 我怎样才能用javascript做到这一点 JavaScript 验证并不安全 因为任何人都可以
  • 从 NIF 调用 Erlang 函数

    是否可以从 NIF 调用 Erlang 函数 回调函数 我读了文档 http www erlang org doc man erl nif html 但没有找到如何做到这一点 不 从 NIF 调用 Erlang 函数是不可能的 您可以在 E