P/Invoke和非托管DLL状态

Cen*_*tro 8 .net c pinvoke

我有一个程序集和一个非托管DLL.我试图在非托管DLL中使用静态变量,但它似乎不能在程序集调用之间存活.

我想知道在P/Invoke调用之间是否存在非托管DLL中的静态变量,可能我在我的代码中遗漏了一些东西.如果不是,如果全局静态变量不是一个选项,那么为这种非托管DLL存储状态的最佳方法是什么?

Ian*_*ton 0

这种状态完全取决于所讨论的非托管代码,这取决于它对静态变量的处理方式,一旦调用它,您就无法控制它并受到所讨论的库的规则的约束。

一位评论者建议您可以通过卸载包含静态的库来删除静态,这在所有情况下都是不可能的(您无法卸载主 c 库),但可能对您有用。