运行时动态链接(run-time):在编程时通过 LoadLibrary(给出DL名称,返回装入和链接 之后该DLL的句柄), FreeLibrary GetProc Address(其参数包括函数的符号名称, 返回该函数的入口指针)等API来使用DLL函 数。这时不再需要引入库( import library)。 Loadlibrary或 LoadLibrary Ex把可执行模块映射到 调用进程的地址空间,返回模块句柄; GetProc Address得DLL中特定函数的指针,返回 函数指针 FreeLibrary把DLL模块的引用计数减1;当引用计 数为0时,拆除DLL模块到进程地址空间的映射:
• 运行时动态链接(run-time):在编程时通过 LoadLibrary(给出DLL名称,返回装入和链接 之后该DLL的句柄), FreeLibrary, GetProcAddress(其参数包括函数的符号名称, 返回该函数的入口指针)等API来使用DLL函 数。这时不再需要引入库(import library)。 – LoadLibrary或LoadLibraryEx把可执行模块映射到 调用进程的地址空间,返回模块句柄; – GetProcAddress获得DLL中特定函数的指针,返回 函数指针; – FreeLibrary把DLL模块的引用计数减1;当引用计 数为0时,拆除DLL模块到进程地址空间的映射;
运行时动态链接的例子 HINSTANCE hInstLibrary;//模块句柄定义 DWORD (WINAPI *InstallstatusMiF)(char* char*, char* char*,char*,char*,char大,BOL);//函数指针定义 if(hInstLibrary= LoadLibrary("ismif32d11"))//A5 InstallStatusMIF =(DWORD (WINAPI 大)(Char*,Char大,Chay,Char*,Char大,Char+,Char大 BOOL)) GetProcAddress(hInstlibrary, " Ins ta1 tatusmie");//获得函数指针 if (InstallstatusMIF if(InstallstatusMIFoffice97Microsoft office 97,999999",ENU",1234,Completed successfu1y",TRUE)!=0)//调用DL模块中的函数 FreeLibrary( hInstlibrary);//拆除映射
运行时动态链接的例子 HINSTANCE hInstLibrary;//模块句柄定义 DWORD (WINAPI *InstallStatusMIF)(char*, char*, char*, char*, char*, char*, char*, BOOL);//函数指针定义 if (hInstLibrary = LoadLibrary("ismif32.dll"))//映射 { InstallStatusMIF = (DWORD (WINAPI *)(char*,char*,char*, char*, char*, char*, char*, BOOL)) GetProcAddress(hInstLibrary, "InstallStatusMIF");//获得函数指针 if (InstallStatusMIF) { if (InstallStatusMIF(“office97”, “Microsoft”, “Office 97”, “999.999”, “ENU”, “1234”, ”Completed successfully”, TRUE) !=0)//调用DLL模块中的函数 { } } FreeLibrary(hInstLibrary);//拆除映射 }
62单一连续区存储管理 内存分为两个区域:系统区,用户区。 应用程序装入到用户区,可使用用户区 全部空间。 最简单,适用于单用户、单任务的OS。 优点:易于管理。 缺点:对要求内存空间少的程序,造成 内存浪费;程序全部装入,很少使用的 程序部分也占用内存。 返回
6.2 单一连续区存储管理 返回 • 内存分为两个区域:系统区,用户区。 应用程序装入到用户区,可使用用户区 全部空间。 • 最简单,适用于单用户、单任务的OS。 • 优点:易于管理。 • 缺点:对要求内存空间少的程序,造成 内存浪费;程序全部装入,很少使用的 程序部分也占用内存
OXFFF 用户程序 位于RAM中的 ROM中的 操作系统 设备驱动程序 用户程序 位于RAM中的 用户程序 操作系统 位于RAM中的 操作系统 0 0 单一连续区存储管理
用户程序 位于RAM中的 操作系统 0xFFF... 0 位于RAM中的 操作系统 用户程序 0 ROM中的 设备驱动程序 用户程序 位于RAM中的 操作系统 0 单一连续区存储管理
6.3分区存储管理 6.3.1原理 632固定分区( fixed partitioning 633动态分区( dynamic partitioning 634分区分配算法 63.5 MS DOS中的分区存储管理 返回
6.3 分区存储管理 6.3.1 原理 6.3.2 固定分区(fixed partitioning) 6.3.3 动态分区(dynamic partitioning) 6.3.4 分区分配算法 6.3.5 MS DOS中的分区存储管理 返回