Adding my own BIF

From Erlang Community

(Difference between revisions)
Revision as of 16:56, 31 July 2006 (edit)
Massemanet (Talk | contribs)

← Previous diff
Revision as of 16:56, 31 July 2006 (edit) (undo)
Massemanet (Talk | contribs)

Next diff →
Line 14: Line 14:
</tt> </tt>
:5. implement your bifs by stealing bits from existing erl_bif_*.c files :5. implement your bifs by stealing bits from existing erl_bif_*.c files
-<tt>+<pre>
BIF_RETTYPE re_grep_2(BIF_ALIST_2){ BIF_RETTYPE re_grep_2(BIF_ALIST_2){
-Eterm result;+ Eterm result;
-result = magic_function(); + result = magic_function();
-BIF_RET(result);+ BIF_RET(result);
} }
-</tt>+</pre>
:6. run make; make install :6. run make; make install

Revision as of 16:56, 31 July 2006

1. run configure
2. add your bifs to erts/emulator/beam/bif.tab

bif re:grep/2 bif re:compile/1

3. create a C file

erts/emulator/beam/erl_bif_re.c

4. add your C file to erts/emulator/<arch>/Makefile

RUN_OBJS = $(OBJDIR)/erl_bif_re.o \

5. implement your bifs by stealing bits from existing erl_bif_*.c files
BIF_RETTYPE re_grep_2(BIF_ALIST_2){
  Eterm result;
  result = magic_function(); 
  BIF_RET(result);
}
6. run make; make install

steps 0-3 need only be done once.

note that if you add bif re:grep/2 to bif.tab there should be a erl_bif_re.c that implements BIF_RETTYPE re_grep_2(BIF_ALIST_2);

Erlang/OTP Projects
Personal tools