ページの改善
いますぐフォークしてオンライン編集し、このページのプルリクエストを送信します。 Github へのログインが必要です。 これは小さな変更に適しています。 大きな変更を加えたい場合は、通常の cloneの使用をお勧めします。
日本語版について
個人的な学習のために、dlang.orgを翻訳したサイトです。 翻訳に際して、様々なサイトを参考にしています。

rt.minfo

Written in the D programming language. Module initialization routines.
License:
Distributed under the Boost Software License 1.0. (See accompanying file LICENSE)
Authors:
Walter Bright, Sean Kelly

Source rt/minfo.d

struct ModuleGroup;
A ModuleGroup is an unordered collection of modules. There is exactly one for:
  1. all statically linked in D modules, either directely or as shared libraries
  2. each call to rt_loadLibrary()
void sortCtors(string cycleHandling);

void sortCtors();
Allocate and fill in ctors[] and tlsctors[]. Modules are inserted into the arrays in the order in which the constructors need to be run.
Parameters:
Throws:
Exception if it fails.
bool sortCtorsOld(int[][] edges);
This is the old ctor sorting algorithm that does not find all cycles.
It is here to allow the deprecated behavior from the original algorithm until people have fixed their code.
If no cycles are found, the ctors and tlsctors are replaced with the ones generated by this algorithm to preserve the old incorrect ordering behavior.
Parameters:
int[][] edges The module edges as found in the importedModules member of each ModuleInfo. Generated in sortCtors.
Returns:
true if no cycle is found, false if one was.
int moduleinfos_apply(scope int delegate(immutable(ModuleInfo*)) dg);
Iterate over all module infos.
void rt_moduleCtor();
Module constructor and destructor routines.
void rt_moduleTlsCtor();
Module constructor and destructor routines.
void rt_moduleTlsDtor();
Module constructor and destructor routines.
void rt_moduleDtor();
Module constructor and destructor routines.
void runModuleFuncs(alias getfp)(const(immutable(ModuleInfo)*)[] modules);