我想了解更多关于 Dart 的知识,所以我想阅读 dart 的源码。dart vm是用c++编写的,代码库庞大。
\n\n我从https://github.com/dart-lang/bleeding_edge获取源代码
\n\n以下只是包内的代码runtime
,可以看到它有超过 180K 行的 C++ 代码。
\xe2\x9e\x9c runtime git:(master) \xe2\x9c\x97 cloc .\n 752 text files.\n 746 unique files.\n 47 files ignored.\n\nhttp://cloc.sourceforge.net v 1.58 T=6.0 s (117.7 files/s, 52169.5 lines/s)\n-------------------------------------------------------------------------------\nLanguage files blank comment code\n-------------------------------------------------------------------------------\nC++ 375 32722 21436 180070\nC/C++ Header 238 10936 8753 36452\nDart 76 2785 1340 16661\nPython 13 254 211 1113\nC 2 28 28 107\nBourne Shell 1 16 11 85\nAssembly 1 1 3 5\n-------------------------------------------------------------------------------\nSUM: 706 46742 31782 234493\n-------------------------------------------------------------------------------\n
Run Code Online (Sandbox Code Playgroud)\n\n我学了一个月的dart,有几年Java开发经验,但是不懂c++。有人可以给我一些关于学习 dart vm 的建议吗?我有一个学习 dart vm 的长期计划。
\n\n我的问题是,要学习dart vm,什么样的知识更重要,我最好花一些时间来学习它:
\n\n这是我的看法。从源代码中学习结构和功能,仅仅通过阅读源代码是很困难的,并且需要时间。如果有一些设计文档来指导你,那会更容易,但仍然会很困难。
最好(根据我的经验......所以也许这不是一个好的 stackoverflow 问题)将精力集中在使用虚拟机做一些事情上。选择一个特定的错误或增强功能并尝试实施它。通过实际尝试维护代码而不是仅仅阅读代码,您将学到更多东西。
我提到“根据我的经验”。和您一样,我主要是一名 Java/C# 开发人员,并且已经有 15 年没有真正研究过 C++ 了。
早在 Dart VM 的早期,有一个错误阻止我做一些特定的事情(我现在不记得是什么了)。我有一个堆栈跟踪来为我指明正确的方向,并通过阅读代码并尝试一些事情(使用 Google 检查我不确定的特定语法)。我能够修改虚拟机并解决我眼前的问题(无论如何,这个错误在后来的提交中被其他人重构了)。这里的要点是,有一个可以让你坚持学习的目标是件好事。
为了完整起见,回答您问题的“我应该阅读的任何内容”部分:
几年前 我还在博客中介绍了如何设置 Dart 构建环境。提示: 如果您是 Windows 用户,请使用 Ubuntu VM - 这将节省时间。
Google I/O 2013 的“快速代码始终流行”视频非常值得一看 - 它让 Dart VM 的主要设计者谈论了 VM。它可能会给您一些概览。
最后,Dart 语言规范值得一读,因为 Dart VM 是该规范的实现。
归档时间: |
|
查看次数: |
889 次 |
最近记录: |