杂项技术之一-----dll学习
1.dll库的创建
dll库是动态库的简称。一般程序员将自己已经编好的程序交给别人使用,然而又不希望别人看到程序内容,因而出现了动态库技术。动态库的创建步骤:(1)创建程序时选择dll程序(最好再去掉什么开发周期内容)。(2)然后依次创建程序。(3)在项目里右击属性:常规里(可以选择dll的生成目录与名称)。(4)C++代码生成模块选择MTD方式;(5)与编译器模块选择:不使用预编译头。(6)编写程序,编译生成。
以下以具体代码实现:
.h文件中:
#ifndef _MYDLL_H
#define _MYDLL_H
#ifdef MYDLL_EXPORT
#define MYDLL _declspec(dllexport)
#else
#define MYDLL _declspec(dllimport)
#endif // DEBUG
MYDLL int Add(int a,int b);
MYDLL int *MyALLoc(int size);
MYDLL void free(int *p);
#endif // !_MYDLL_H
.cpp文件中:
#define MYDLL_EXPORT
#include "mydll.h"
#include<stdio.h>
int Add(int a,int b){
return a+b;
}
注:.h文件中表示dll文件的导入导出设置与函数定义,而.cpp文档表示具体实现。
在文档中使用dll文件的步骤:将.lib文件与.dll文件放入要使用的文件夹下。
然后:#paragma comment(lib,"my.lib")
int add(int a,int b);
具体实现,按照调用步骤即可。
2.类文件与.h文件的导出。
使用时同以上步骤。dll中定义类:
class MYDLL MyClass{
};
然后将编好的.h,.lib,.dll文件都交给使用文件。
加一行命令:#paragma comment(lib,"my.lib")
将.h文件加到文件目录中。即可调用其函数。