我读了这个What is the DLL loading behavior when using DllImport[] in C#?,它部分地提出了我的问题,我仍在寻找更详细的答案。 我非常清楚在C / C ++应用程序时代dll是如何工作的,现在我正在努力理解我的任务是否可行。
我有一个旧的c dll,我必须在多线程C#环境中使用它。 dll被认为是单线程环境,它的(170 !!!)导出函数涵盖了各种类型(基本类型,各种指针,HWND,句柄......)
我想要更好地理解的是C#环境以何种方式加载本机/非托管dll:在C应用程序中我将明确使用LoadLibrary,从而了解并控制何时(以及在哪里,其中,线程)dll被加载和卸载;在C#中会发生什么呢?