Unity C++交互

一、设置Dll输出。

两种方式:

  • 第一:直接创建动态链接库工程
  • 第二:创建的是可执行程序,在visual studio,右键项目->属性(由exe改成dll)

二、生成Dll

根据选项Release或Debug,运行完上面的生成解决方案后,会在工程目录下生成x64/Relese/xxx.dll。至此dll生成完成。

三、c++代码补充

注意:_declspec(dllexport)是必须在方法前面,否则c#会调用不到这个方法。

extern "C" 以c的方式去编译也是必要的

先创建DllForUnity.h头文件

复制代码
#pragma once
#include<math.h>
#include<string.h>
#include<iostream>
#define _DllExport _declspec(dllexport) //使用宏定义缩写下
 
 
extern "C"
{
   _DllExport float GetDistance(float x, float y);
}

再创建DllForUnity.cpp实现文件。

复制代码
#include <DllForUnity.h>
 
float GetDistance(float x, float y)
{
    return x+y;
}

四、C#调用

  • 将打好的dll拷贝到Unity Plugins文件夹下

  • 引入c++方法

    复制代码
    [DllImport("RoboidS", EntryPoint = "GetDistance")]
    private static extern float GetDistance(float x, float y);
  • 最后直接调用 GetDistance(1, 2);

相关推荐
揽星河..8 分钟前
【C语言】分支和循环
c语言·c++·算法
小熊恋旧9 分钟前
Python 面向对象编程:方法、属性、继承与多态详解
开发语言·python
云边云科技_云网融合10 分钟前
面向汽车零部件制造业场景的解决方案 | 70 秒:一台车下线的时间里,藏着五张网
开发语言·汽车·php
Evand J10 分钟前
【PMSM滤波例程2】PMSM未知负载转矩观测EKF。MATLAB例程(负载增广EKF与实际仿真结果)。附下载链接
开发语言·matlab·电机
will_net31 分钟前
apollo 站点部署&C#接入
开发语言·c#·apollo
晗夜未央1 小时前
任务队列反复失败,先分清重试、阻塞和结果待核对
开发语言·javascript
熊猫钓鱼>_>1 小时前
四种书签,一条时间线:一个读书 App 的记忆颗粒与它的边界案例【鸿蒙心迹】
开发语言·华为·ai编程·harmonyos·鸿蒙·openharmony·鸿蒙pc
Fuyo_11192 小时前
C++ AVL树保姆级详解:从平衡因子到四大旋转机制
java·c++·算法
努力努力再努力wz2 小时前
【Lua 入门系列】Lua 函数深入理解:函数对象、多返回值、可变参数、闭包、递归与尾调用优化
开发语言·lua
飞浪纪元[FWC–FE]2 小时前
从零到一键绿:Qt 5.14.2 + VS2019 开发环境搭建、Kit 套件配置与构建错误修复完全手册
开发语言·qt