我有兴趣深入研究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. OpenGL编程指南第7版源代码示例
- 4. 苹果代码格式指南
- 5. Stripe's Rail的Checkout指南代码澄清
- 6. 保护JQuery AJAX代码的指南?
- 7. Erlang Parse_trans表单翻译为Erlang源代码
- 8. XAML编码指南
- 9. Erlang - 代码分析
- 10. Erlang代码批判
- 11. 并行Erlang代码
- 12. ASP.NET编码标准指南
- 13. HTML和CSS编码指南
- 14. C++编码指南102
- 15. 指南针GPS指南针
- 16. 从代码开始南特
- 17. 是否有可能为erlang源代码提供行号?
- 18. 如何使用erlang源代码的崇高文本2和Ctags?
- 19. 如何获取Erlang光束文件的源代码路径?
- 20. 在emacs中,grep“erlang源代码”搜索错误
- 21. 从指定的android源代码版本创建sdk源码包
- 22. 指南针在枚举指南针 - lucene
- 23. 安装与指南针的指南针
- 24. Erlang反码字符串代码
- 25. 应将南迁移文件添加到源代码管理?
- 26. 如何指定软件包源代码?
- 27. 如何指定nuget的包源代码
- 28. 编辑WPF代码,是指资源
- 29. 在代码中创建Android ConstraintLayout和指南
- 30. 带C++ Google风格指南示例的示例代码?
这篇论文是一个迷人的阅读。谢谢你 – GabiMe 2010-09-21 11:35:13