学习单声道源代码

asy*_*ait 12 c# mono open-source

我有兴趣为单声道贡献一些东西,无论是文档还是什么.作为第一步,我下载了源代码树以便浏览代码.但是,我想如果有人会花足够的时间来理解那些可以帮助每个人的项目结构.有人指出项目结构得到了很好的解释吗?

注意:这不是问题/sf/ask/115856331/的重复,这个问题的答案不足以满足我的期望.

Gon*_*alo 29

你应该签出(这里的subversion结帐URL ):

  • 行李箱/ libgdiplus

    这是System.Drawing使用的库.

  • 行李箱/单

    这就是我们所说的Mono 运行时.主要包含C源代码.在此目录下,您可以找到:

    • data /:一些不同版本的配置文件(1.x,2.x,...).
    • msvc*/:用于构建Mono运行时的Visual Studio解决方案文件.
    • libgc /:Boehm垃圾收集器来源.
    • mono /:Mono运行时源.
      • mini /:JIT源代码
      • metadata /:这些几乎是Mono运行时使用的所有函数(编组,线程池,套接字I/O,文件I/O,控制台I/O,应用程序域,GC,性能计数器......).它或多或少都是一个C文件.
      • util:杂项功能.
      • io-layer /:Win32 I/O仿真功能.
  • 行李箱/ MCS

    这是C#编译器,类库,类库测试和其他工具的地方.

    • class /:每个程序集一个文件夹.它们中的每一个都包含具有命名空间名称(即System/System.Configuration等)的目录中每个程序集拆分的源代码,并且通常也是Test目录.唯一的命名异常是mscorlib,其相应的文件夹名为corlib.

      例如,如果要查看System.dll程序集中的System.Net.HttpWebRequest的源代码,则转到trunk/mcs/class/System/System.Net,这里应该是一个名为HttpWebRequest的文件.包含您正在寻找的代码的cs.

    • mcs /:C#编译器的源代码(mcs,gmcs,smcs,dmcs ......)

    • tools /:这些是用于开发的工具(sn,wsdl,...),文档(monodoc)等.大多数工具名称与MS相匹配.

周围有很多目录,但那些应该是你应该寻找C和C#代码的地方.此外,我建议检查中继,因为您将获得最新的源.

更新: Mono现在位于github,mcs已集成到单声道存储库中.