none
vs2008会自动加载C:/System/目录下的dll吗?这种加载如何控制? RRS feed

  • 问题

  • 你好,vs2008一个项目没有手动引用任何dll,貌似会自动加载C:/System/目录下的dll,这个是怎么控制的?如何不让它自动加载呢?
    2012年1月14日 4:59

答案

  • 你感觉你没有加载dll

    但是你编程的时候一定会引用一些系统头文件

    会调用一下系统api

    这些函数在哪里

    自然是在系统的dll里

    而且这些dll本省可能还需要依赖其它dll

    所以即便你没有显示或隐身的调用自己的dll

    一个应用程序也还是会需要很多dll来支持的

    而dll的搜索顺序是这样的

    (1)可执行程序加载的目录(可理解为程序安装目录比如 C:Program FilesuTorrent) 
    (2)系统目录(即 %windir%system32 ) 
    (3)16位系统目录(即 %windir%system) 
    (4)Windows目录(即 %windir%) 
    (5)运行某文件的所在目录,比如C:Documents and SettingsAdministratorDesktop est) 
    (6)PATH环境变量中列出的目录


    新浪微博http://weibo.com/xianglitian,欢迎围观
    • 已标记为答案 a013strife 2012年1月18日 2:06
    2012年1月17日 2:45

全部回复

  • 既然加载就是有需求

    不加载程序不就跑不起来了


    新浪微博http://weibo.com/xianglitian,欢迎围观
    2012年1月15日 1:36
  • 为什么可以这样加载?能说清楚点吗?搞不懂
    2012年1月16日 2:41
  • 你感觉你没有加载dll

    但是你编程的时候一定会引用一些系统头文件

    会调用一下系统api

    这些函数在哪里

    自然是在系统的dll里

    而且这些dll本省可能还需要依赖其它dll

    所以即便你没有显示或隐身的调用自己的dll

    一个应用程序也还是会需要很多dll来支持的

    而dll的搜索顺序是这样的

    (1)可执行程序加载的目录(可理解为程序安装目录比如 C:Program FilesuTorrent) 
    (2)系统目录(即 %windir%system32 ) 
    (3)16位系统目录(即 %windir%system) 
    (4)Windows目录(即 %windir%) 
    (5)运行某文件的所在目录,比如C:Documents and SettingsAdministratorDesktop est) 
    (6)PATH环境变量中列出的目录


    新浪微博http://weibo.com/xianglitian,欢迎围观
    • 已标记为答案 a013strife 2012年1月18日 2:06
    2012年1月17日 2:45
  • 差不多吧,我还想知道这个加载顺序是vs规定的?还是.net framewokr规定的?系统目录中的dll是不是都会被加载进来不能改变?

    帖子暂时结了让您爽下

    2012年1月18日 2:05
  • 不会吧!

    专注每一件事情,一切取决于心态了。

    2012年2月22日 3:22