一.Windows动态库的创建:
1.先选择 "DLL" 和 “控项目”
2.添加一个头文件,一个源文件 CppDll.h,CppDll.cpp,一个模块定义文件 CppDll.def
关于模块定义文件的介绍(百度百科):
http://baike.baidu.com/link?url=pfwgvp6L_zHUK2XrDjy2RqCg7qwy76WrOcepxnpg2ach3aybCdJwIXeDp6FhThKbZ8H8fd9wSAhXTqJi5C45Ya
3.3个文件的实现如下:
//头文件
//CppDll.h
//2014-4-2 programed by sixbeauty
//使用预编译开关切换类的导入导出定义
#ifdef DLLCLASS_EXPORTS #define EXT_CLASS _declspec(dllexport)//DLL #else #define EXT_CLASS _declspec(dllimport)//使用者 //函数声明
EXT_CLASS int CPPdll_sub(int sub1,int sub2);
EXT_CLASS int CPPdll_add(int add1,int add2);
EXT_CLASS int CPPdll_mul(int mul1,int mul2); #endif
//源文件
//CppDll.cpp
//2014-4-2 programed by sixbeauty
#include"CppDll.h" int CPPdll_add(int add1,int add2)
{
return add1+add2;
} int CPPdll_sub(int sub1,int sub2)
{
return sub1-sub2;
} int CPPdll_mul(int mul1,int mul2)
{
return mul1*mul2;
}
//模块定义文件
LIBRARY
EXPORTS
CPPdll_add @
CPPdll_sub @
CPPdll_mul
4.编译生成动态库,在工程的 "Debug" 文件夹中,有 CppDll.dll 和 CppDll.lib 文件 ,再加上我们写的头文件 CppDll.h ,这是我们一会要用的。
二.Windows动态库的使用:
1.老规矩,win32控制台 + 空项目,项目名叫 CppDllUse 。
2.把文件复制项目所在目录下面
3.添加一个源文件 CppDllUse.cpp,添加一个现有项 "CppDllUse.h"
4.实现源文件:
//2014-4-2 programed by sixbeauty
//CppDllUse #include<stdio.h>
#include"CppDll.h" #pragma comment(lib,"CppDll.lib") int main()
{
int sum=CPPdll_add(,);
int sub=CPPdll_sub(,);
int mul=CPPdll_mul(,);
printf("sum=%d,sub=%d,mul=%d\n",sum,sub,mul); return ;
}
5.编译,运行。
好的,今天就到这里,我还要写万恶的毕业论文,呜呜~~~~(>_<)~~~~
2014-04-02