1.要在生成DLL文件的同时生成Lib文件,函数声明时前面要加__declspec(dllexport)。
可在头文件中如下定义:
#ifndef __MYDLL_H
#define __MYDLL_H#ifdef MYDLL_EXPORTS
#define MYDLL __declspec(dllexport)
#else
#define MYDLL __declspec(dllimport)
#endifMYDLL int Add(int a, int b);class MYDLL MyObject
{public:MyObject(int v);void Print();private:int value;
};#endif
在mydll.cpp文件中实现Add函数时:
#include <stdio.h>#define MYDLL_EXPORTS
#include "mydll.h"int Add(int a, int b)
{return a +b;
}MyObject::MyObject(int v):value(v){}void MyObject::Print()
{printf("value:%d\n",value);
}
2.调用dll里面的Add函数时,项目中加载.h头文件、lib之后编译生成exe,并将dll放在执行程序(exe)同一级目录下,这样exe程序执行时可以自动加载该dll。
如果通过LoadLibrary()手工加载dll的话,只需要dll文件,不需要.h和.lib。详见:http://www.cnblogs.com/SZxiaochun/p/5844223.html
Demo程序:百度网盘(13207134391)下
cc++学习指南-应用篇\DLL_01
cc++学习指南-应用篇\DLL_01_APP_02