【杂项】程序的执行目录和程序的当前目录

当32位应用程序运行时,系统将为它分配一个4GB的地址空间,加载模块会会分析该应用程序的输入信息,从中找到程序将要访问的动态链接库信息,在用户机器上搜索这些动态链接库,进而加载它们,搜索的顺序依次是

  1. 程序的执行目录
  2. 程序当前的目录
  3. 系统目录 如 C:\Windows\system32 C:\Windows\system C:\Windows
  4. path 环境变量中所列出的路径
    程序当前的目录 指的是 exe文件所在那个目录下
    程序的执行目录 指的是启动exe 文件的目录
    对于一般来说双击程序启动,那么 程序的执行目录等同与程序当前的目录。还有一种就是通过 命令行启动
    【杂项】程序的执行目录和程序的当前目录_第1张图片
    MainProgram.exe 依赖于 MathDll.dll。如果从以下目录启动将提示缺少dll。
    因为MathDll.dll在上一级目录。所以这样可以正常启动
    【杂项】程序的执行目录和程序的当前目录_第2张图片
    从上一级目录启动 MainProgram.exe。因为依赖库文件就在程序的执行目录下所以程序可以正常运行。

你可能感兴趣的:(杂谈,开发语言)