设计一个DLL,内含一个函数计算a+b;
DLL的组成 | |
.h(头文件) | 定义了DLL能够导出的函数、数据结构或类的声明,该文件的声明内容在.CPP文件中实现,而.CPP的源程序被封装到DLL文件中 |
.LIB(导入库文件) | 导入库文件包含调用DLL的隐式链接信息,当应用程序以隐含形式调用DLL时,导入库文件中的信息被复制到应用程序的代码中 |
.DLL(实际代码文件) | 实际的可执行代码,包含函数的代码和一张表,表中包含函数名和地址 |
创建DLL文件:
头文件sum.h
extern "C" int _declspec(dllexport)sum(int a,int b);
源程序:sum.cpp
1 #include "sum.h" 2 int sum(int a,int b) 3 { 4 return a+b; 5 }
创建程序调用:
main.cpp |
#include "sum.h" #include "iostream.h" #pragma comment(lib,"sum.lib")/*通知编译器lib名字及路径*/ int main() { int a,b; cin>>a>>b; cout<<sum(a,b)<<endl; return 0; } |
sum.h /*源头文件*/ |
extern "C" int _declspec(dllimport)sum(int a,int b); |