我有兴趣深入研究Erlang的C source code,并尝试理解底层的情况。我在哪里可以找到有关代码设计和结构的信息?Erlang源代码指南
回答
首先,你可能想看看到Joe Armstrong's thesis,处于较高水平引入二郎。了解该语言背后的想法是有用的。然后,您可以专注于Erlang运行时系统(erts)。 erlang.erl模块可能是一个好的开始。然后,我将关注构成所谓的最小版本,内核和stdlib的应用程序。在stdlib中,看看如何实现行为。我可以建议gen_server.erl模块作为开始?
谢谢。我开始的好地方。这真的是很短的指导,虽然.. – GabiMe 2010-09-20 21:15:50
简短的回答是,没有好的指导。代码没有很好的记录。
我建议在你家附近找到一个熟悉代码的人,然后以他们的晚餐换取一点点聊天。
如果您无法做到这一点,那么我建议从装载机开始。
./erts/emulator/beam/beam_load.c
一些有用的信息也可以通过漂亮的打印光束表示找到。我不知道是否有任何方法可以由OTP提供,但HiPE项目有一些秘籍。
hipe:c(MODULE, [pp_beam]).
应该让你开始。
(而且我也推荐乔的书。)
束漂亮的打印机可以通过 'erlc -S',这相当于与HIPE来完成:由丹尼尔提到C(男,[pp_beam])。
我也使用erts_debug:df(Module).
反汇编载入的光束代码,这是VM实际解释的指令。
有时我使用调试器。 OTP提供了支持gdb的工具。请参阅示例用法http://www.erlang.org/pipermail/erlang-questions/2008-September/037793.html
- 1. 开源代码指南?
- 2. Erlang示踪源代码
- 3. Android代码设计指南
- 4. jQuery代码风格指南
- 5. OpenGL编程指南第7版源代码示例
- 6. Erlang Parse_trans表单翻译为Erlang源代码
- 7. 需要了解C++代码指南
- 8. 保护JQuery AJAX代码的指南?
- 9. 苹果代码格式指南
- 10. Stripe's Rail的Checkout指南代码澄清
- 11. XAML编码指南
- 12. Erlang - 代码分析
- 13. 并行Erlang代码
- 14. Erlang代码批判
- 15. 指定nuget包源代码
- 16. 指南针@for和迭代
- 17. TypeScript编码风格指南?
- 18. c#函数编码指南
- 19. HTML和CSS编码指南
- 20. C++编码指南102
- 21. ASP.NET编码标准指南
- 22. 指南针GPS指南针
- 23. 如何调试Erlang代码?
- 24. 从代码开始南特
- 25. 如何使用erlang源代码的崇高文本2和Ctags?
- 26. 在emacs中,grep“erlang源代码”搜索错误
- 27. 如何获取Erlang光束文件的源代码路径?
- 28. 是否有可能为erlang源代码提供行号?
- 29. 是否有一些指南用于设计C代码中的错误代码?
- 30. 从指定的android源代码版本创建sdk源码包
这篇论文是一个迷人的阅读。谢谢你 – GabiMe 2010-09-21 11:35:13