C++ DLL学习笔记
来源:互联网 发布:linux 查看路由表 编辑:程序博客网 时间:2024/05/30 05:02
DLL ONE
1.新建一个空的DDL工程
2.新建一个源文件。
3.添加代码
_declspec(dllexport) int add(int x,int y) { return x+y; }
4.编译.. 产生dll,lib,exp文件.
5.使用 dumpbin -exports ddl1.dll 查看导出函数信息.
DLL TWO
1.新建一个空的DDL工程
2.新建一个头文件,源文件。
3.添加代码
//头文件代码
#ifndef DLL1_API #else #define DLL1_API extern "C" _declspec(dllexport) #endif DLL1_API int add(int x,int y);
//源文件代码
#define DLL1_API extern "C" _declspec(dllexport) #include "ddl1.h" int add(int x,int y) { return x+y; }
4.编译.. 产生dll,lib,exp文件.
5.使用 dumpbin -exports ddl1.dll 查看导出函数信息.
DLL THREE
语句块: def文件
头文件
int add(int x,int y);
源文件
#include "ddl1.h"int add(int x,int y){return x+y;}
def文件
EXPORTS add
测试一
1.新建一MFC工程
2.添加BUTTON,并导入LIB #pragma comment(lib,"ddl1.lib"),复制LIB,DLL到测试工程中。
3.为BUTTON编写代码
//extern int add(int x,int y);_declspec(dllimport) int add(int x,int y);void CTestdll1Dlg::OnButtonAdd() { CString str; sprintf(str.LockBuffer(),"1+2=%d",add(1,2)); MessageBox(str);}
测试二
//extern int add(int x,int y); //_declspec(dllimport) int add(int x,int y); void CTestdll1Dlg::OnButtonAdd() { /*CString str; sprintf(str.LockBuffer(),"1+2=%d",add(1,2)); MessageBox(str);*/ HINSTANCE hInst=LoadLibrary("ddl1.dll"); typedef int (*ADDPROC)(int x,int y); ADDPROC Add=(ADDPROC)GetProcAddress(hInst,"add"); if(!Add) { MessageBox("获取函数地址失败!"); return; } CString str; str.Format("5+3=%d",Add(5,3)); MessageBox(str); FreeLibrary(hInst); }
- 【C#】类库(dll)学习笔记
- c语言学习笔记 之调用dll动态库
- 学习开发DLL笔记
- win32 dll学习笔记
- DLL学习开发笔记
- DLL学习笔记
- dll(学习笔记)
- C++ DLL学习笔记
- Dll学习笔记
- Dll学习笔记
- dll学习笔记
- Dll注入学习笔记
- DLL学习笔记
- c++DLL 学习之路
- c++DLL 学习之路
- c++DLL 学习之路
- Dll学习笔记(转)
- WIN32平台DLL学习笔记
- C# 委托与事件简单应用
- shell 1
- 使用platform虚拟总线驱动按键
- 用Jquery实现(下拉框)select元素的透明和圆角!(源码实例)
- 山区行
- C++ DLL学习笔记
- 数码视讯笔试题
- VBConversions.VB.Net.to.C.Sharp.Converter.v3.00.WORKING-Lz0
- pthread_cond_wait与mutex、while
- 图3--拓扑排序变体求重要路径
- 薄荷花开
- SQL SERVER复习笔记04
- Simple-openni:display the depthMap and the imageMap:
- [转载]软件常见的各种版本英文缩写