很难用熟悉的术语来谈论这一点,C# 或 VB.NET 语言中根本没有公开此功能。然而,C++/CLI 编译器使用它。它在 Ildasm.exe 或 Reflector 等反汇编程序中的显示方式也没有标准化。
也许最好的角度是 Reflector,看看 System.Data.dll 程序集。它位于未命名的命名空间(Reflector 中的“-”)、<Module>node.js 中。您看到的 .cctor 有一个模块初始值设定项。与静态类构造函数相同类型的动物,但在模块级别。它在程序集加载时运行。C++/CLI 使用它来初始化 C 运行时库。
您发现的 ___CxxCallUnwindDtor() 方法是“全局方法”的示例。C++/CLI 语言没有提供任何方式公开此类函数,它们始终嵌入在具有内部可访问性的元数据中。因此不能直接从 C# 或 VB.NET 程序调用。我对 ModuleBuilder 的使用还不够多,不知道它是否会超出 C++/CLI 的范围。这一切都非常晦涩难懂,实际上并没有那么有用。
| 归档时间: |
|
| 查看次数: |
2640 次 |
| 最近记录: |