当前位置: 首页 > news >正文

VS2022 C++生成和调用DLL动态链接库

  1. 关键在于声明函数时 .h 文件中,需要将要导出的函数名进行以下操作(process_image 函数名)
	#ifdef __cplusplusextern "C" {#endif// C 接口:输入图片路径,返回清晰度分数__declspec(dllexport) double process_image(char* img_path);#ifdef __cplusplus}#endif
  1. 在定义声明函数的实现(cpp文件实现代码)
  2. 生成式选择生成dll
    在这里插入图片描述
  3. 调用时需要特定代码调用函数名(以下代码是process_image函数的例子)
#include <windows.h>
#include <iostream>
typedef double (*ProcessImageFunc)(char*);
int main() {HMODULE hDll = LoadLibraryA("sperm.dll");if (!hDll) {std::cerr << "Failed to load DLL" << std::endl;return -1;}// 获取函数地址ProcessImageFunc process_image = (ProcessImageFunc)GetProcAddress(hDll,  "process_image");if (!process_image) {std::cerr << "Failed to get process_image address" << std::endl;FreeLibrary(hDll);return -1;}char img_path[] =  "frame_01_5000.jpg";double score = process_image(img_path);std::cout << "Tenengrad Score: " << score << std::endl;FreeLibrary(hDll);return 0;
}
http://www.dtcms.com/a/331308.html

相关文章:

  • 小杰python高级(six day)——pandas库
  • 自由学习记录(84)
  • nnDetection在windows系统下使用教程
  • 4.Ansible部署文件到主机
  • Torch -- 卷积学习day2 -- 卷积扩展、数据集、模型
  • Linux软件编程(四)多任务与多进程管理
  • 机械硬盘模块逻辑与工作原理
  • 某处卖600的【独角仙】尾盘十分钟短线 尾盘短线思路 手机电脑通用无未来函数
  • uniapp对接极光消息推送
  • 【CLR via C#(第3版)阅读笔记】类型基础
  • [特殊字符]走进华为,解锁商业传奇密码
  • K8s学习----Namespace:资源隔离与环境管理的核心机制
  • 渲染 opentype 多个字符的文本,并设置文本的渲染开始位置
  • Warm-Flow 1.8.0 重大更新
  • Lua 脚本在 Redis 中的应用
  • vivo Pulsar 万亿级消息处理实践(4)-Ansible运维部署
  • 河南萌新联赛2025第(五)场:信息工程大学补题
  • 飞书文档定时自动同步至百炼知识库
  • ESP32 I2S音频总线学习笔记(六):DIY蓝牙音箱教程
  • CVPR 2025 | 北大团队SLAM3R:单目RGB长视频实时重建,精度效率双杀!
  • 在mysql> 下怎么运行 .sql脚本
  • C#WPF实战出真汁00--项目介绍
  • 极速开发新体验_Vite构建工具详解
  • 使用YOLOv13进行钢板表面缺陷检测
  • Python之Django使用技巧(附视频教程)
  • 云手机都具有哪些特点?
  • Ollama如何分别使用2张H100GPU和4张A100部署GPT-OSS-120B全指南:硬件配置与负载均衡实战
  • Linux命令大全-zip命令
  • 嵌入式学习(day27)多任务进程
  • 接口测试与常用接口测试工具详解