DLL创建与隐式调用总结
2014-11-06 11:21
197 查看
DLL的创建
新建MFC dll,在cpp文件中编写要用的函数,并另外附加header.h文件编写其函数定主。最简单的代码如下:
DllHeader.h
void ShowDllMsgbox();XXX.cpp
// DLLTest.cpp : 定义 DLL 的初始化例程。 // #include "stdafx.h" #include "DLLTest.h" #include "DllHeader.h" #ifdef _DEBUG #define new DEBUG_NEW #endif // //TODO: 如果此 DLL 相对于 MFC DLL 是动态链接的, // 则从此 DLL 导出的任何调入 // MFC 的函数必须将 AFX_MANAGE_STATE 宏添加到 // 该函数的最前面。 // // 例如: // // extern "C" BOOL PASCAL EXPORT ExportedFunction() // { // AFX_MANAGE_STATE(AfxGetStaticModuleState()); // // 此处为普通函数体 // } // // 此宏先于任何 MFC 调用 // 出现在每个函数中十分重要。这意味着 // 它必须作为函数中的第一个语句 // 出现,甚至先于所有对象变量声明, // 这是因为它们的构造函数可能生成 MFC // DLL 调用。 // // 有关其他详细信息, // 请参阅 MFC 技术说明 33 和 58。 // // CDLLTestApp BEGIN_MESSAGE_MAP(CDLLTestApp, CWinApp) END_MESSAGE_MAP() // CDLLTestApp 构造 CDLLTestApp::CDLLTestApp() { // TODO: 在此处添加构造代码, // 将所有重要的初始化放置在 InitInstance 中 } // 唯一的一个 CDLLTestApp 对象 CDLLTestApp theApp; // CDLLTestApp 初始化 BOOL CDLLTestApp::InitInstance() { CWinApp::InitInstance(); return TRUE; } // 自定义函数 void ShowDllMsgbox() { AfxMessageBox(_T("这是消息盒!")); }编译生成XXX.lib文件与XXX.dll文件。
DLL的调用
此处仅记下DLL的隐式调用,显示调用很麻烦,没有研究。1、添加.h文件:在新的工程中,要用到dll中函数的地方,提前#include “DllHeader.h"
2、添加.lib文件:
将lib文件添加到项目->属性->连接器->输入->附加依赖项,如图:解决方案,如图
或,将lib文件添加到项目,如图:
或,使用语句#pragma comment(lib, "XXX.lib"),XXX替换为你想要加的库就行了。
3、将dll文件复制到项目生成的exe文件下
相关文章推荐
- 学习总结:C语言创建调用DLL
- Qt DLL总结【二】-创建及调用QT的 DLL
- 2014-03-30工作日志:我对如何创建和调用dll的总结
- Qt DLL总结【二】-创建及调用QT的 DLL
- Qt DLL总结-创建及调用QT的 DLL
- VC中创建DLL,导出全局变量,函数和类(隐式调用)
- 总结学习VS2010的dll的创建与调用
- simplest_dll 最简dll的创建与隐式调用(显式调用太麻烦,个人不建议使用)
- Qt DLL总结【二】-创建及调用QT的 DLL
- C#中创建、调用动态链接库dll的总结++++冒泡排序的dll实践
- Qt DLL总结【二】-创建及调用QT的 DLL
- Qt DLL总结【二】-创建及调用QT的 DLL(三篇)good
- 如何利用C#创建和调用DLL
- C#创建和调用DLL
- [导入]C#创建和调用DLL
- 创建并调用 DLL(1)
- 如何利用C#创建和调用DLL
- 如何利用C#创建和调用DLL
- VC中DLL的创建及调用方法
- C#创建和调用DLL