调用 C/C++ DLL问题

那闯 2014-10-10 01:36:11
[DllImport("testdll")] 加载的库要如何释放?
...全文
120 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
那闯 2014-10-10
  • 打赏
  • 举报
回复
引用 1 楼 gxingmin 的回复:
引用 2 楼 bdmh 的回复:
@qxingmin: C++ 的库是我自己写的,我的问题是在静态加载dll时,是否可以释放。 @bdmh: 你的意思是,静态加载后没办法释放吗? 我在Unity中调用dll,Unity似乎对库做了一些操作,如果调用win api 来动态加载,关联不上Unity。
bdmh 2014-10-10
  • 打赏
  • 举报
回复
DllImport是静态加载,你要释放需要动态加载,用api函数 [DllImport("kernel32.dll")] static extern IntPtr LoadLibrary(string lpFileName); [DllImport("kernel32.dll", SetLastError = true)] static extern bool FreeLibrary(IntPtr hModule);
gxingmin 2014-10-10
  • 打赏
  • 举报
回复
这还没加载呢 一般c++动态库还提供Init和UnInit函数,前者是初始化对象用,后者是释放对象用 其他语言调用这两个函数来初始化和释放就可以了

110,565

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧