none
关于 C# 的心结 RRS feed

  • 问题

  • 对于动态库,C/C++ 带来的习惯,需要时 LoadLibrary() ,不需要时 FreeLibrary() ,多少次 LoadLibrary() 就多少次 FreeLibrary() ,做完事总要擦屁股。

    C# ,当然或许不能简单的叫动态库了,要叫 .NET 模块或组件?总之,没看到对应的东西,只看到 using 那个应该是等效于 C 语言的隐式加载。

    垃圾收集期对变量空间的回收我理解,对库,没闹明白,难道它只加载不卸载?要是卸载的话,它怎么知道我还要不要用某某库?除非……如同 OS 的文件缓存机制,把久不使用的卸除,用到时再“悄悄”加载?


    箪食瓢饮随遇安,不求栋梁求参天。
    2011年6月19日 4:56

答案

  • 这个得看CLR的实现了,在微软的CLR实现中,要卸载一个assembly的话需要卸载assembly所在的appdomain

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2011年6月19日 7:57
    版主

全部回复

  • 这个得看CLR的实现了,在微软的CLR实现中,要卸载一个assembly的话需要卸载assembly所在的appdomain

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2011年6月19日 7:57
    版主
  • 我的理解是解释性语言和编译性语言的区别吧,c#有运行时环境来代替管理
    forget flying
    2011年6月20日 5:35
  • ^_^ 这就是我要的答案!
    箪食瓢饮随遇安,不求栋梁求参天。
    2011年6月21日 3:10