erlang相关内容
正如我从“Erlang和OTP in action”一书中所理解的,行为一词是指: 行为界面是一组函数; 行为实现,它是应用程序特定的代码(回调模块); 行为容器是一个过程。 问题: Erlang / OTP初学者应该了解什么行为?是否可以简单地描述和理解OTP行为的概念? 什么'回调函数' Elang / OTP? 我们可以将行为实现中的回调视为在Java中覆盖
..
我一直在寻找学习erlang,因此,一直在阅读(好,撇去)关于演员模型。 从我的理解, actor模型只是一组函数(在erlang中称为“processes”的轻量级线程中运行),它们仅通过消息传递来相互通信。 在C ++或任何其他语言中实现: class BaseActor { std :: queue ;消息; CriticalSect
..
有什么界面可以将Erlang与C ++绑定? 解决方案 本地实现的函数:在最新的Erlang / OTP版本中可用,允许您在C中实现任何函数 端口驱动程序:您可以将C代码链接到Erlang VM,然后使用port_command访问它。 C节点:使用 ei 库,您可以模仿VM,并使用Erlang分发格式与您的Erlang VM交谈。
..
为什么人会使用 无效* enif_alloc_resource(ErlNifResourceType *型,无符号大小) ,而不是无效* enif_alloc(为size_t大小) 试图从一个Erlang NIFÇ分配内存时? 引用不指定多少,为什么。 http://www.erlang.org/doc/man/erl_nif。 HTML#enif_alloc 解决方案 e
..
有二郎某些共同的库函数比其等价的C慢得多。 时有可能有C code执行二进制解析和数字运算,并有二郎神重生进程运行C code? 解决方案 当然的C会更快,在极端情况下,优化后。如果你越快意味着运行更快。 二郎将是迄今为止,快写。根据您有二郎速度要求很可能是“不够快”,它会保存在C寻找臭虫天。 C $ C $按c只有优化后速度更快。如果你花时间在C和二郎相同数量,你会拿出大约相同的速
..
的免责声明:这个问题的作者有二郎的平均知识和C的基础知识的 我读了互操作性指南用户指南现在。我已经成功编制了 complex.c里的例子,它与二郎神港口工作没有任何问题。 不过,我想了解实际的C code工作。我的理解一般:在本例中读取从标准输入2个字节,检查第一个字节。根据第一个字节它要求无论是富或栏功能。这是我对它的理解极限现在。 所以,如果我们把两个 erl_comm.c : /
..
我试图编译从二郎山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
..
如何从二郎运行C code座? (或呼叫的Erlang C函数?) 解决方案 这是创建驱动程序 首先,你需要创建的C / C ++文件来做到这一点。 他们将需要包括 的#include“erl_driver.h” #包括“ei.h” 然后,你需要设置驱动器映射 / *的驱动程序功能的映射* / 静态ErlDrvEntry driver_entry = { NULL,/ *初始
..
我已问题#12 从的项目欧拉的作为编程练习和我的(肯定不是最优的)实现在C,Python和Erlang和Haskell的比较。为了得到一些更高的执行时间,我搜索了超过1000除数,而不是500在原来的问题说第一个三角形数量。 结果如下: C: 洛伦佐@恩佐:〜/ $二郎的gcc -o -lm euler12.bin euler12.c 洛伦佐@恩佐:〜/ $二郎时间./euler12.bin
..
我很新的Erlang编程语言。有没有在二郎山一个标准的构建工具? 我用Google搜索这些,不知道我应该使用哪一个。 二郎制作 http://www.erlang.org/doc/man/make.html 钢筋 Erlang.mk 解决方案 钢筋正逐渐被 rebar3 ,提供更确定性的替代建立和冲突分辨率,包(与hex.pm积分),等等。 由于目前螺纹钢和rebar
..
我是一个Erlang小白,我已经检查出Faxien +思南和钢筋,和Erlang OTP的基本理念似乎是,在一个Erlang的图像实例上安装的应用程序和发布。什么是自包含保持释放的最佳做法?有没有一种方法来包装版本,这样你就不必修改你正在部署到机器的网站?如何收集所有的依赖到codeBase的管理? 也许我会格格不入...我来自一个Java的背景和“无pre-安装,但JVM”似乎有很大不同。哲学
..
我读 http://olk.github.io/libs/fiber/doc/html/ 在我看来,与Boost.Fiber C ++是越来越接近Erlang的有成千上万的“流程”的能力,也被称为“绿色工艺[主题]”
..
在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
..
我需要能够使用二进制与他们西里尔字符。我试着只是写<<“абвгд”>方式> ,但我得到了一个错误badarg 我如何与西里尔字母(或单向code)字符串在二郎山工作? 解决方案 如果您想输入上图中的前$ P $在二郎壳 pssion,请阅读 UNI code 模块的用户手册。 功能 character_to_binary 和 character_to_list
..
让每一个字节是写在十六进制 我可以格式化一个Erlang二进制?即, > IO:格式(???,并[d&所述; 255,16取代;]的计算值)。 &所述;&下; FF,10 -10;> 我没有看到一个明显的方式做到这一点在 IO:格式文档,但也许我只是缺少一个?转换二进制列出并分别格式化的元素效率太低。 解决方案 没有,没有这样的格式化选项,但你可以这样做: IO:格式(“&
..
假设我有 消息= [{“FROM_EMAIL”,FROM_EMAIL},{“名”,名称},{“文”,文字}], 向= [{“to_email”,ToMail},{“TO_NAME”,ToName}], Send_Mail=[{\"to\",To},{\"subject\",Subject},{\"message\",Message},{\"from_email\",From_Email},{\"
..
我愿做递归在一个二进制文件,并在每次调用从二进制读取多达32位,并在新的二进制返回。但我不能得到匹配的工作,因为我想要的模式。 binaryToBinary(来源) - GT; binaryToBinaryAux(资料来源,与LT;<>>)。binaryToBinaryAux(小于;&所述;>>中的目标) - > 目标; binaryToB
..
我要的是,我认为,比较简单: >宾= LT;<“Hello.world.howdy?”>&GT ;. >拆分(斌“。”)。 [<<“你好”>&GT中,<<“世界”>&GT中,<<“你好?”>>] 任何指针? 解决方案 目前没有OTP功能就是列表相当于:拆分/ 2 上一个作品二进制字符串。直到 EEP-9
..
我想用一个自定义的Erlang REPL使用rlwrap。 它完美,如果我跑它作为“rlwrap -a myrepl。” 问题是,myrepl具有得到由rlwrap践踏内置选项卡完成。 我要让rlwrap释放TAB键 解决方案 您不能使用的行编辑/历史,同时您REPL的TAB完成 rlwrap 时间。 rlwrap 提供行编辑,历史和(很简单)命令补全的没有它的。有花哨的东西tab
..
我的工作虽然问题并注意到一些code其中一个previous程序员使用PID的标准约定传递消息!信息。我一直在使用gen_server:铸铁/ 2。我在想,如果有人可以给我两之间进行选择时解释关键的差异和考虑? 解决方案 有一些细微差别: 显然,gen_server处理铸件在 handle_cast 和 handle_info “正常”的消息。 系统投从来没有失败;它总是返回确定。
..