4

使用 C++/CLI 创建 DLL 时,或者我应该问,是否存在与 DllMain 等效的东西?

这个初始化代码不能调用什么有什么限制吗?

4

4 回答 4

4

Dan:关于加载器锁、C++/CLI 对 CLR 的延迟加载和混合模式二进制文件的正确初始化,我昨天刚刚在此处发布了有关该主题的信息

或多或少,如果你有一个混合模式的二进制文件,当你在DllMain().

于 2009-05-19T19:45:49.460 回答
3

从 .NET 2.0 开始,您就有了一个“模块初始化程序”。有关如何解决加载程序锁定问题的更多信息,请参见此处,也请参见此处

为了直接回答您的问题,本页引用了以下标准:“模块初始化程序中允许的代码没有限制。模块初始化程序允许运行和调用托管代码和非托管代码。”

于 2010-02-06T18:43:00.640 回答
1

如果您在另一个托管项目(例如 ac# 应用程序)中使用 dll,则无需执行任何操作...只要您尝试访问的类是ref类,您就可以从任何其他托管项目中访问它们应用。

于 2008-12-12T06:03:00.813 回答
0

.Net dll 的一大优势是它们避免了加载程序锁定。一个副作用是没有 DllMain。

于 2008-12-12T06:29:13.020 回答