本文主要是介绍Erlang/OTP 源码初调研,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Erlang是一门适用于开发大规模可扩展实时软件系统的语言,主打并发和分布式编程,在电信、银行、电商、即时通信等领域均有应用案例。
当前版本:OTP 23.0 [1]
支持alpha、arm、powerpc、mips、aarch64、x86_64等主流架构。
三方依赖
- GNU make
- gcc or clang
- Perl 5
- GNU m4(可在
./configure
时使用--disable-hipe
选项关闭) - ncurses, termcap, or termlib(可使用
--without-termcap
选项关闭) - sed
源码体量
文件类型 | 文件数量(含test) | 文件数量(不含test) |
---|---|---|
.c | 598 | 426 |
.h | 341 | 319 |
.cpp | 11 | 11 |
.cc | 1 | 1 |
.S | 36 | 6 |
.erl | 3950 | 1563 |
.hrl | 310 | 229 |
.beam | 1313 | 1250 |
架构相关
汇编文件6个:
$ find -name *.S ! -path "*test*"
./erts/emulator/hipe/hipe_amd64_glue.S
./erts/emulator/hipe/hipe_arm_glue.S
./erts/emulator/hipe/hipe_ppc_glue.S
./erts/emulator/hipe/hipe_sparc_glue.S
./erts/emulator/hipe/hipe_x86_glue.S
./erts/preloaded/src/prim_eval.S
涉及mips的文件13个:
$ grep -lir mips --exclude-dir=*test*
erts/autoconf/config.guess
erts/autoconf/config.sub
erts/configure
erts/doc/src/notes.xml
erts/emulator/hipe/elf64ppc.x
erts/include/internal/gcc/ethread.h
lib/erl_interface/configure
lib/erl_interface/src/auxdir/config.guess
lib/erl_interface/src/auxdir/config.sub
lib/odbc/configure
lib/wx/autoconf/config.guess
lib/wx/autoconf/config.sub
xcomp/erl-xcomp-mips-linux.conf
名称包含mips的文件1个:
$ find -iname *mips*
./xcomp/erl-xcomp-mips-linux.conf
-
Open Telecom Platform(开放电信平台) ↩
这篇关于Erlang/OTP 源码初调研的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!