C++ / dll的生成与调用

一、生成 dll / lib

新建新的空项目

1、新建头文件macros.h

#pragma once
#pragma once
#ifndef __MACROS_H
#define __MACROS_H

#ifdef API_EXPORTS
#if defined(_MSC_VER)
#define API __declspec(dllexpoet)
#else
#define API __attribute__((visibility("default")))
#endif
#else

#if defined(_MSC_VER)
#define API __declspec(dllimport)
#else
#define API
#endif
#endif  // API_EXPORTS

#if NV_TENSORRT_MAJOR >= 8
#define TRT_NOEXCEPT noexcept
#define TRT_CONST_ENQUEUE const
#else
#define TRT_NOEXCEPT
#define TRT_CONST_ENQUEUE
#endif

#endif  // __MACROS_H

2、新建头文件abc.h(名称与源文件一致)

#pragma once
#include "macros.h"
//#include需要的头文件
using namespace std;

extern "C" API + 函数头;

3、新建源文件abc.cpp

#include "abc.h"

添加需要的函数,包括函数头与函数体

4、设置项目属性

配置属性 --- 常规 --- 配置类型 --- > 动态库(.dll)

5、生成 dll

在Release x64下生成解决方案,生成的dll和lib在sln同级文件夹的x64 --- >Release下

二、调用 dll / lib

1、新建源文件abc_test.cpp

#include "abc.h"
#pragma comment (lib, "abc.lib的路径")

extern "C" _declspec(dllimport) + 需要导入的函数头

int main()
{
    直接调用函数
}

2、设置项目属性

配置类型为“应用程序(.exe)”

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值