Tôi quan tâm đến việc delving vào Erlang's C source code và cố gắng hiểu những gì đang xảy ra dưới mui xe. Tôi có thể tìm thông tin về thiết kế và cấu trúc của mã ở đâu?Hướng dẫn mã nguồn Erlang
Trả lời
Trước hết, bạn có thể muốn có một cái nhìn để Joe Armstrong's thesis, giới thiệu Erlang ở mức cao. Sẽ hữu ích nếu bạn có ý tưởng về ý tưởng đằng sau ngôn ngữ. Sau đó, bạn có thể tập trung vào Hệ thống thời gian chạy Erlang (erts). Module erlang.erl có thể là một khởi đầu tốt. Sau đó, tôi sẽ tập trung vào các ứng dụng tạo thành cái gọi là số phát hành tối thiểu , hạt nhân và stdlib. Trong stdlib, có một cái nhìn về cách hành vi được triển khai. Tôi có thể đề xuất mô-đun gen_server.erl làm khởi đầu không?
Hướng dẫn To The Erlang Nguồn
http://www.trapexit.org/A_Guide_To_The_Erlang_Source
Cảm ơn. Nơi tốt để tôi bắt đầu. Đây thực sự là hướng dẫn ngắn gọn .. – GabiMe
Câu trả lời ngắn gọn là không có hướng dẫn tốt. Và mã này không được viết rất tốt.
Tôi khuyên bạn nên tìm một người nào đó trong vùng lân cận biết mã phù hợp và mua bữa tối để đổi lấy một cuộc trò chuyện nhỏ.
Nếu bạn không có khả năng thực hiện điều đó, thì tôi khuyên bạn nên bắt đầu với trình tải.
./erts/emulator/beam/beam_load.c
Một số thông tin hữu ích cũng có thể được tìm thấy bằng cách in đại diện chùm đẹp. Tôi không biết liệu có cách nào để làm như vậy được cung cấp bởi OTP, nhưng dự án HiPE có một số cheats.
hipe:c(MODULE, [pp_beam]).
Bạn nên bắt đầu.
(Và tôi cũng khuyên bạn nên cuốn sách của Joe.)
máy in Khá dầm có thể được thực hiện bằng cách '-S erlc', tương đương với hipe: c (M, [pp_beam]) được đề cập bởi Daniel.
Tôi cũng sử dụng erts_debug:df(Module).
để tháo rời mã dầm đã tải, đó là các hướng dẫn thực sự được VM giải thích.
Thỉnh thoảng tôi sử dụng trình gỡ lỗi. OTP cung cấp các công cụ hỗ trợ gdb rất tốt. Xem ví dụ về cách sử dụng tại http://www.erlang.org/pipermail/erlang-questions/2008-September/037793.html
- 1. Hướng dẫn viết thông số kỹ thuật trong Erlang
- 2. Động cơ trò chơi mã nguồn mở Android + hướng dẫn
- 3. Hướng dẫn hoặc ví dụ về Erlang corba?
- 4. Hướng dẫn JMP - Mã Hex
- 5. Giải mã hướng dẫn 68k
- 6. Lâu đài Windsor: các nguồn tài liệu hướng dẫn, hướng dẫn
- 7. AWS lib3s C/C++ Mẫu mã/Hướng dẫn Mã mẫu/Hướng dẫn
- 8. Hướng dẫn hoặc Hướng dẫn viết kịch bản Giai đoạn xây dựng mã XCode
- 9. ASP.net MVC 3 hướng dẫn hướng dẫn
- 10. hướng dẫn swt hoặc hướng dẫn
- 11. java.util.concurrent, ví dụ, hướng dẫn và mã
- 12. hướng dẫn c mã hóa mục tiêu
- 13. Hướng dẫn tốt về quản lý mã?
- 14. Demo (FX) Hướng dẫn mã hóa?
- 15. Xóa hướng dẫn khỏi mã Java bytecode
- 16. Good .Net Remoting Hướng dẫn/Hướng dẫn
- 17. Hướng dẫn/hướng dẫn X509 trong C#
- 18. Có phải Erlang hướng đối tượng không?
- 19. Hướng dẫn lập trình Wii
- 20. Emacs/TextMate hoàn thành mã cho Erlang?
- 21. Hướng dẫn cho Pascal/Delphi cho C++ - Bộ mã hóa
- 22. Máy xay sinh tố, Hướng dẫn viết mã Python
- 23. Hướng dẫn viết mã OpenGL và OpenGL ES tương thích?
- 24. Dừng tại hướng dẫn mã máy đầu tiên trong GDB
- 25. Hướng dẫn hay về XMPP?
- 26. Các dự án mã nguồn mở tốt nhất trong Erlang/OTP để tìm hiểu
- 27. Có ai đã xuất bản bất kỳ hướng dẫn mã hóa/hướng dẫn/hướng dẫn kiểu nào của C# 4 không?
- 28. Tổ chức Mã nguồn R
- 29. Hướng dẫn đa luồng C++
- 30. Hướng dẫn NASM/FASM tốt?
Luận án này là một bài đọc hấp dẫn. Cám ơn vì cái này – GabiMe