C++ 载入dll
来源:互联网 发布:网络广播方案 编辑:程序博客网 时间:2024/05/16 17:39
1.新建一个项目生成dll
首先我们新建一个项目生成一个Dynamic Library(动态链接库) dll
里面非常简单,只有一个add方法。等下我们就要在其他项目里尝试载入这个dll,调用里面的这个add方法。
// MyDLL.cpp : Defines the entry point for the DLL application.//#include "stdafx.h"extern "C"{ _declspec(dllexport) int add(int x, int y);}int add(int x, int y){ return x + y;}BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ){ return TRUE;}
如果开始项目不是没有生成dll,记得打开项目的属性,选择Dynamic Library。
2.新建一个项目载入dll
// DLLTest.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include <windows.h> //must include thistypedef int (*MyAdd)(int x, int y);int main(int argc, char* argv[]){HMODULE hmod = NULL;hmod = ::LoadLibrary("MyDLL.dll"); //load dllif(hmod == NULL){ printf("load MyDLL.dll failed!"); return 0;}MyAdd Add = (MyAdd)GetProcAddress(hmod, "add");if(!Add){ printf("get function failed!"); return 0;}printf("test add(): 1+2=%d\n", Add(1,2)); ::FreeLibrary(hmod); // release resourcegetchar();return 0;}
效果图:
成功调用!
项目下载地址:c++动态载入dll
文章源地址:http://www.waitingfy.com/?p=654
- C++ 载入dll
- DLL延迟载入机制
- Unity3d 载入 C++/CLI (托管模式c++) 的动态库(DLL)
- Unity3d 载入 C++/CLI (托管模式c++) 的动态库(DLL)
- 修改导入表载入DLL
- 修改导入表载入DLL
- 直接载入内存中的DLL
- 直接载入内存中的DLL
- 动态载入动态库(dll)
- 从 Shell32.dll 中载入图标
- 延迟载入DLL的局限 以及 应用
- 无法载入共享目标对象‘...rJava.dll’
- DLL高级技术之延迟载入
- 穷举接口-将PE作为DLL载入
- C/C++ 参数载入问题
- 通过pid查看它载入dll,通过dll查询那些pid载入它
- C++DLL
- DELPHI中动态调用DLL的载入片断代码
- C/C++取整函数
- JavaSwing组件:Jlist学习笔记
- HTML 中 META tag 的作用
- 移动应用发展的 8 个趋势
- "Waiting for sound system to respond" problem, Ubuntu 10.04
- C++ 载入dll
- 转眼间已经大二[迎新工作]
- C#读写ini文件操作
- 机器学习_算法_KNN
- JspServlet防止二次提交
- 约瑟夫环的数组实现方式
- 如何从零开始学习DIV+CSS
- atoi atol实现
- 3线双向零等待IO通讯机制