动态连接库(1)
所谓「动态连接」,是指 Windows 把一个模组中的函数 call 连接到动态连接程式库模组中的实
际函数上的程序。在程式开发中,您将各种目的模组(.OBJ)、执行时期程式库(.LIB)档案,以及
经常是已编译的资源(.RES)档案连接在一起,以便建立 Windows 的.EXE 档案,这时的连接是
「静态连接」。动态连接与此不同,它发生在执行时期。
例:
最初设计的动态连接程式库只与一个应用程式相联系,一个「测试」程式在使用 DLL。
EDRLIB EDRTEST
建立了一个空的工作空间
在 Visual C++中,从「File」功能表选择「New」,然後选择「Workspaces」页面标签。在
「Location」栏选择工作空间要储存的目录,然後在「Workspace Name」栏输入
「EDRTEST」,按 Enter 键。这样就建立了一个空的工作空间。Developer Studio 还建立了一
个名为 EDRTEST 的子目录,以及工作空间档案 EDRTEST.DSW(就像两个其他档案)。
建立一个专案
DLL
现在让我们在此工作空间里建立一个专案。从「File」功能表选择「New」,然後选择
「Projects」页面标签。您选择「Win32 Dynamic-Link Library」。另外,单击单选按钮「Add
To Current Workspace」,这使得此专案是「EDRTEST」 工作空间的一部分。在「Project
Name 栏输入 EDRLIB,但先不要按「OK」按钮。当您在 Project Name 栏输入 EDRLIB 时,
Visual C++将改变「Location」栏,以显示 EDRLIB 作为 EDRTEST 的一个子目录。这不是我
们要的,所以接著在「Location」栏删除 EDRLIB 子目录以便专案建立在 EDRTEST 目录。现
在按「OK」。Visual C++将建立一个专案档案 EDRLIB.DSP 和一个构造档案 EDRLIB.MAK
(如果「Tools Options」对话方块的 B「uild 页面标签中选择了「Export Makefile」选项」。
添加 File…..
建立一个专案
TEST
现在让我们在 EDRTEST 工作空间里建立第二个专案,程式名称为 EDRTEST,而且使用
EDRLIB.DLL。在 Visual C++中载入 EDRTEST 工作空间时,请从「File」功能表选择
「New」,然後在「New」对话方块中选择「Projects」页面标签。这次选择「Win32
Application」,并确保选中了「Add To Current Workspace」按钮。输入专案名称
EDRTEST。再在「Locations」栏删除第二个 EDRTEST 子目录。按下「OK」,然後在下一个
对话方块选择「An Empty Project」,按「Finish」。添加 File…..
config
评论21