c# - 托管线程会影响 C dll 中的全局变量吗?

标签 c# c multithreading dll global-variables

关于这个问题: Unable to see global variable in certain C file, value seems to reset

在托管线程中调用的函数似乎失去了在非托管端查看全局变量的能力。变量使用非线程调用进行初始化。

它不是一个ThreadPool线程,只是:

Thread T = new Thread();

并且 dll 调用在委托(delegate)中。

这是我 PC 上的异常情况,我想知道 VS 中是否有某些设置可能会影响这一点,或者线程是否会导致此类问题。我不是线程专家。

在 VS 2010 和 2013 中测试。

最佳答案

C# 程序存在于它们自己的托管内存池中,因此我怀疑托管线程是否会影响 C dll 中的全局变量,除非该 C 代码专门使用 C# 程序中的内存 - 但我相信无论如何都会导致页面错误。

关于c# - 托管线程会影响 C dll 中的全局变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18907014/

相关文章:

c# - C# Selenium 中的警报/确认/弹出处理

c# - 如何检查用户是否是 AD C# 中通讯组列表/安全组的成员

c++ - InterlockedExchange() 和线程安全

c# - LINQ 查询通过多项检查按对象属性过滤列表

c# - ASP.NET 起始页始终加载母版页

C 从文件中读取文本并将其放入数组中

c - 如何将字符指针引用传递给函数并取回受影响的值?

python - Strace:如何调试无效参数错误

java - 两个不同的 AsyncTasks 无法从 foregroundService 启动

c - 线程中的段错误