erlang相关内容

初学者的Erlang / OTP行为

正如我从“Erlang和OTP in action”一书中所理解的,行为一词是指: 行为界面是一组函数; 行为实现,它是应用程序特定的代码(回调模块); 行为容器是一个过程。 问题: Erlang / OTP初学者应该了解什么行为?是否可以简单地描述和理解OTP行为的概念? 什么'回调函数' Elang / OTP? 我们可以将行为实现中的回调视为在Java中覆盖 ..
发布时间:2016-11-10 10:38:11 其他开发

演员模型:为什么erlang特别?或者,你为什么需要另一种语言呢?

我一直在寻找学习erlang,因此,一直在阅读(好,撇去)关于演员模型。 从我的理解, actor模型只是一组函数(在erlang中称为“processes”的轻量级线程中运行),它们仅通过消息传递来相互通信。 在C ++或任何其他语言中实现: class BaseActor { std :: queue ;消息; CriticalSect ..
发布时间:2016-10-22 17:06:54 C/C++开发

将Erlang与C ++集成

有什么界面可以将Erlang与C ++绑定? 解决方案 本地实现的函数:在最新的Erlang / OTP版本中可用,允许您在C中实现任何函数 端口驱动程序:您可以将C代码链接到Erlang VM,然后使用port_command访问它。 C节点:使用 ei 库,您可以模仿VM,并使用Erlang分发格式与您的Erlang VM交谈。 ..
发布时间:2016-10-14 11:44:09 C/C++开发

在二郎山çNIF分配内存

为什么人会使用 无效* enif_alloc_resource(ErlNifResourceType *型,无符号大小) ,而不是无效* enif_alloc(为size_t大小) 试图从一个Erlang NIFÇ分配内存时? 引用不指定多少,为什么。 http://www.erlang.org/doc/man/erl_nif。 HTML#enif_alloc 解决方案 e ..
发布时间:2016-08-24 13:08:29 C/C++

二郎山 - C和二郎

有二郎某些共同的库函数比其等价的C慢得多。 时有可能有C code执行二进制解析和数字运算,并有二郎神重生进程运行C code? 解决方案 当然的C会更快,在极端情况下,优化后。如果你越快意味着运行更快。 二郎将是迄今为止,快写。根据您有二郎速度要求很可能是“不够快”,它会保存在C寻找臭虫天。 C $ C $按c只有优化后速度更快。如果你花时间在C和二郎相同数量,你会拿出大约相同的速 ..
发布时间:2016-08-21 20:29:32 C/C++开发

C和二郎:二郎口为例

的免责声明:这个问题的作者有二郎的平均知识和C的基础知识的 我读了互操作性指南用户指南现在。我已经成功编制了 complex.c里的例子,它与二郎神港口工作没有任何问题。 不过,我想了解实际的C code工作。我的理解一般:在本例中读取从标准输入2个字节,检查第一个字节。根据第一个字节它要求无论是富或栏功能。这是我对它的理解极限现在。 所以,如果我们把两个 erl_comm.c : / ..
发布时间:2016-08-21 20:24:31 C/C++

二郎山NIF测试 - OS X狮子

我试图编译从二郎山NIF测试( HTTP:// WWW。 erlang.org/doc/man/erl_nif.html )在Mac OS X狮子。我不能让它编译。我缺少一个编译器标志?这是我得到的错误: 计算机:〜我$的gcc -fPIC -shared -o niftest.so niftest.c -I在/ usr /本地/库/二郎/ R14B02 / lib中/二郎/ usr / inc ..
发布时间:2016-08-21 20:04:58 C/C++

在二郎山运行C code座

如何从二郎运行C code座? (或呼叫的Erlang C函数?) 解决方案 这是创建驱动程序 首先,你需要创建的C / C ++文件来做到这一点。 他们将需要包括 的#include“erl_driver.h” #包括“ei.h” 然后,你需要设置驱动器映射 / *的驱动程序功能的映射* / 静态ErlDrvEntry driver_entry = { NULL,/ *初始 ..
发布时间:2016-08-18 22:27:56 C/C++

与项目欧拉速度对比:C VS的Python VS二郎VS哈斯克尔

我已问题#12 从的项目欧拉的作为编程练习和我的(肯定不是最优的)实现在C,Python和Erlang和Haskell的比较。为了得到一些更高的执行时间,我搜索了超过1000除数,而不是500在原来的问题说第一个三角形数量。 结果如下: C: 洛伦佐@恩佐:〜/ $二郎的gcc -o -lm euler12.bin euler12.c 洛伦佐@恩佐:〜/ $二郎时间./euler12.bin ..
发布时间:2016-08-17 21:19:12 Python

什么是Erlang的标准构建工具?

我很新的Erlang编程语言。有没有在二郎山一个标准的构建工具? 我用Google搜索这些,不知道我应该使用哪一个。 二郎制作 http://www.erlang.org/doc/man/make.html 钢筋 Erlang.mk 解决方案 钢筋正逐渐被 rebar3 ,提供更确定性的替代建立和冲突分辨率,包(与hex.pm积分),等等。 由于目前螺纹钢和rebar ..
发布时间:2016-08-16 13:24:37 开发过程

二郎发布的最佳实践?

我是一个Erlang小白,我已经检查出Faxien +思南和钢筋,和Erlang OTP的基本理念似乎是,在一个Erlang的图像实例上安装的应用程序和发布。什么是自包含保持释放的最佳做法?有没有一种方法来包装版本,这样你就不必修改你正在部署到机器的网站?如何收集所有的依赖到codeBase的管理? 也许我会格格不入...我来自一个Java的背景和“无pre-安装,但JVM”似乎有很大不同。哲学 ..
发布时间:2016-08-16 13:03:58 开发过程

二进制格式,有位操作?例如。 << 16#7楼,16#FF>> BSL 1

在Erlang中,有位操作对整数操作,例如: 1 GT 127 BSL 1。 254 也有打包成整数的字节序列的能力&LT和LT 16#7楼,16#FF&GT和GT 有可能,还是有可以执行位运算的运算符或内建函数(如AND,OR,XOR,SHL,SHR)二进制数据打包? 例如(如果BSL的二进制包的工作 - 它不会): 1 GT&LT和LT 16#7楼,16#FF&GT跑车和GT BS ..
发布时间:2016-08-06 22:37:28 开发方法

Erlang和二进制西里尔

我需要能够使用二进制与他们西里尔字符。我试着只是写<<“абвгд”>方式> ,但我得到了一个错误badarg 我如何与西里尔字母(或单向code)字符串在二郎山工作? 解决方案 如果您想输入上图中的前$ P $在二郎壳 pssion,请阅读 UNI code 模块的用户手册。 功能 character_to_binary 和 character_to_list ..
发布时间:2016-08-06 22:35:01 开发方法

二郎IO:格式的二进制到十六进制

让每一个字节是写在十六进制 我可以格式化一个Erlang二进制?即, > IO:格式(???,并[d&所述; 255,16取代;]的计算值)。 &所述;&下; FF,10 -10;> 我没有看到一个明显的方式做到这一点在 IO:格式文档,但也许我只是缺少一个?转换二进制列出并分别格式化的元素效率太低。 解决方案 没有,没有这样的格式化选项,但你可以这样做: IO:格式(“& ..
发布时间:2016-08-06 22:29:33 开发方法

怎么办模式匹配在Erlang的二进制?

我愿做递归在一个二进制文件,并在每次调用从二进制读取多达32位,并在新的二进制返回。但我不能得到匹配的工作,因为我想要的模式。 binaryToBinary(来源) - GT; binaryToBinaryAux(资料来源,与LT;<>>)。binaryToBinaryAux(小于;&所述;>>中的目标) - > 目标; binaryToB ..
发布时间:2016-08-06 22:23:57 开发方法

我怎么能在二郎山分割的二元

我要的是,我认为,比较简单: >宾= LT;<“Hello.world.howdy?”>&GT ;. >拆分(斌“。”)。 [<<“你好”>&GT中,<<“世界”>&GT中,<<“你好?”>>] 任何指针? 解决方案 目前没有OTP功能就是列表相当于:拆分/ 2 上一个作品二进制字符串。直到 EEP-9 ..
发布时间:2016-08-06 22:19:11 开发方法

有没有运行与标签完成rlwrap禁用的方法吗?

我想用一个自定义的Erlang REPL使用rlwrap。 它完美,如果我跑它作为“rlwrap -a myrepl。” 问题是,myrepl具有得到由rlwrap践踏内置选项卡完成。 我要让rlwrap释放TAB键 解决方案 您不能使用的行编辑/历史,同时您REPL的TAB完成 rlwrap 时间。 rlwrap 提供行编辑,历史和(很简单)命令补全的没有它的。有花哨的东西tab ..
发布时间:2016-07-27 14:37:34 JavaScript

二郎神:使用gen_server区别:施放/ 2和标准的消息传递

我的工作虽然问题并注意到一些code其中一个previous程序员使用PID的标准约定传递消息!信息。我一直在使用gen_server:铸铁/ 2。我在想,如果有人可以给我两之间进行选择时解释关键的差异和考虑? 解决方案 有一些细微差别: 显然,gen_server处理铸件在 handle_cast 和 handle_info “正常”的消息。 系统投从来没有失败;它总是返回确定。 ..
发布时间:2016-07-21 10:19:12 其他开发