C++ 调用C++写的函数库的2种方法之一(显式调用)
2024-08-22 11:18:49
一:创建C++ DLL类库,名称:Dll1
1.Dll.h
_declspec(dllimport) int add(int a, int b);
2.Dll.cpp
// Dll.cpp : 定义 DLL 应用程序的导出函数。
// #include "stdafx.h" #include<iostream> //#include"Dll.h"
using namespace std; extern "C" _declspec(dllexport) int add(int a, int b)
{ return (a+b); }
二:C++启动项目win32项目,名称:DynamicLoadDll
1.DynamicLoadDll.h
空白,没有写内容
2.DynamicLoadDll.cpp
// DynamicLoadDll.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include "windows.h"
#include <iostream>
using namespace std; int _tmain(int argc, _TCHAR* argv[])
{
HINSTANCE hInst;
hInst=LoadLibrary("Dll.dll");
typedef int (*ADDPROC)(int a,int b);
ADDPROC Add=(ADDPROC)GetProcAddress(hInst,"add");
//ADDPROC Add=(ADDPROC)0x00011078;
cout<<Add(5,4)<<endl;
return 0;
}
三:配置
1.想将dll文件copy到启动项目的debug中去。
2。按照下图中的红框来设置。我不明白我的为什么要在这里加引用,如果不加,它就会报错,解析不了,网上的都没有加,所以在这里碰到了很多的挫折。
3. 结果
在dos命令窗口出现5+4的结果 9
最新文章
- TextView字体阴影效果
- python学习之路 第一天
- thinkphp一句话疑难解决笔记 2
- python 类变量和实例变量
- Kindle 转换器
- Qt消息机制和事件(一)
- VS2015安装开发ios android
- [原]此程序专用来说明C++模板的用法
- 基于CORS的geoserver同源访问策略
- 重写(override)和重载(overload)的区别
- Python练习二
- Sqlserver 计算两坐标距离函数
- 11.14 Daily Scrum
- Java之所有对象的公用方法>;9.Always override hashCode when you override equals
- 查询SQL阻塞语句
- vue 中使用 screenfull.js 全屏插件
- Javac之glb与lub
- 170531、FormData 对象的使用
- mysql_use_result的使用
- 也谈时间管理和GTD