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