[Erlang]如何添加自己的BIF
来源:互联网 发布:ubuntu kernel 编辑:程序博客网 时间:2024/06/07 18:49
步骤
- 1. 运行configure
2. 将你的bifs添加至erts/emulator/beam/bif.tab
bif re:grep/2 bif re:compile/1
- 3. 创建一个C代码文件
erts/emulator/beam/erl_bif_re.c
- 4.将你的C代码文件添加至erts/emulator/<arch>/Makefile里
RUN_OBJS = $(OBJDIR)/erl_bif_re.o \
5. implement your bifs by stealing bits from existing erl_bif_*.c files
参考其余的erl_bif_*.c文件,加入下面这段代码
1
2
3
4
5
BIF_RETTYPE
re_grep_2(
BIF_ALIST_2
){
Eterm
result;
result = magic_function();
BIF_RET
(result);
}
6. 运行make; make install
重点回顾:
步骤0-3只需执行一次,如果你将下面的bif
1
bif
re:grep
/2
添加至bif.tab时,erl_bif_re.c文件要实现下面这个函数
1
BIF_RETTYPE
re_grep_2(
BIF_ALIST_2
);
0 0
- [Erlang]如何添加自己的BIF
- Erlang四个BIF来操纵注册进程的名字
- erlang常用内建函数BIF
- 对象相关的BIF
- 常用Python的BIF指令
- 如何给自己的blog添加功能
- 如何向busybox添加自己的命令
- 如何给自己的程序添加BugReport
- 如何给自己的程序添加BugReport
- 如何向busybox添加自己的命令
- iOS如何使用自己添加的字体库
- 如何将自己的项目添加Pod
- erlang 自己搞定一个简单的MakeFile
- BIF 字符判断的内置函数
- 如何给自己的vc的button添加上图标
- 如何在gluster的源码中添加自己的xlator
- 如何让项目的start变成自己添加的character
- 如何在异常中添加自己想要的信息
- 新GRE逻辑阅读作者的观念及文化背景解析
- web作用域
- 直接拿来用!最火的Android开源项目(完结篇)
- iOS中AutoLayer自动布局流程及相关方法
- array_multisort对select查询的二维数组排序
- [Erlang]如何添加自己的BIF
- Android开发PopupWindow.showAtLocation用法
- Innodb事务隔离级别
- QT QString字符串转16进制串口发送数据
- 2015.6.5 qt学习笔记 accept()概念
- Unity 5.0 IL2CPP
- iOS动画效果整理
- ASP.NET MVC Bootstrap极速开发框架
- mac终端常用的命令行语句