看了几天VC的技术文章,闲暇之余做了些HandsLab,下面便是其中之一,感觉八错....简洁易懂。VC技术博大精深,当初选择Delphi行业内称之为聪明的程序员,现在我要做个真正的程序员,哈哈。。,学习VC还真得漫漫去体会其中的机理,这些对于提高我们自身的程序设计水平还是满有帮助的,废话不多说了,回到主题喽。VC制作动态链接库有几种方法,在以后的文章里会有所提及,让我们都来漫漫体会吧,先放出个cookie出来.算是为自己在这项技术领域开个好头吧。。。
一.Win32动态链接库
1. 制作 的步骤:
(1)新建WIN32 Dynamic-link Library 工程 ,工程名为MyDll,选择A simple DLL project类型。
(2)MyDll.h的内容如下:
以下是引用片段: extern "C" _declspec(dllexport) int sum(int a,int b);//本文所有的例子只有一个sum即加法函数。 |
(3)MyDll.cpp的内容如下:
以下是引用片段: #include "stdafx.h" #include "windows.h" #include "MyDll.h" BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { return TRUE; } extern "C" _declspec(dllexport)int sum(int a, int b) { return a+b; } |
(4)编译之后产生了MyDll.lib与MyDll.dll两个文件。
2.使用方法:
(1).隐式调用法: 将MyDll.lib和MyDll.h拷贝到需要 应用 该DLL的工程的目录下,将MyDll.dll拷贝到产生的应用 程序 的目录下,并在需要应用该DLL中的函数的CPP文件中添加如下几行:
以下是引用片段: #include "MyDll.h" #pragma comment(lib,"MyDll"); |
(2).显示调用法:将MyDll.lib和MyDll.h拷贝到需要应用该DLL的工程的目录下,将MyDll.dll拷贝到产生的应用程序的目录下,并在需要应用该DLL中的函数的CPP文件中包含头文件,如:
以下是引用片段: #include "MyDll.h" |
同时还需要在Project->Setting->Link->Object/library modules的框中增加MyDll.lib这个库。