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);

相关推荐
2zcode2 分钟前
免费开源项目文档:基于MATLAB同态滤波的医学图像增强系统设计与实现
开发语言·matlab
REDcker6 分钟前
Android 15 16KB 内存页适配详解
android·开发语言·python
2zcode6 分钟前
基于MATLAB同态滤波的医学图像增强系统设计与实现
开发语言·计算机视觉·matlab
脏脏a7 分钟前
飞牛NAS部署EasyNVR实操:摄像头RTSP接入、本地录像与公网回看
开发语言·php
杰佛史彦明120 分钟前
PDF 表格转 CSV:Python 实现方法与代码解析
开发语言·python·pdf
gugucoding26 分钟前
39. 【C语言】经典 C 项目实战:迷你 HTTP 服务器
c语言·开发语言·http
什巳34 分钟前
JAVA练习277- 找到字符串中所有字母异位
java·开发语言·算法·leetcode
头茬韭菜1 小时前
3.6 依赖注入 — 四个依赖的精准边界
开发语言·ai·ecmascript
zmzb01031 小时前
C++课后习题训练记录Day154
数据结构·c++·算法
江华森1 小时前
Python神经网络编程(四):Python从零搭建神经网络
开发语言·python·神经网络