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

相关推荐
深思慎考30 分钟前
调用百度云语音识别服务——实现c++接口识别语音
c++·语音识别·百度云
麦麦鸡腿堡1 小时前
Java的单例设计模式-饿汉式
java·开发语言·设计模式
简单点了1 小时前
go前后端项目的启动 、打包和部署
开发语言·后端·golang
爱吃山竹的大肚肚1 小时前
@Valid校验 -(Spring 默认不支持直接校验 List<@Valid Entity>,需用包装类或手动校验。)
java·开发语言
汤姆yu1 小时前
2026版基于python的协同过滤音乐推荐系统
开发语言·python
汤姆yu1 小时前
基于python的电子商务管理系统
开发语言·python
我是大咖2 小时前
C语言-贪吃蛇项目开发工具篇---ncursee库安装
c语言·开发语言
K 旺仔小馒头2 小时前
优选算法:01 双指针巧解移动零问题
c++·算法·刷题
weixin_445476683 小时前
Java并发编程——synchronized的实现原理与应用
java·开发语言·并发·synchronized
yi碗汤园3 小时前
【超详细】C#自定义工具类-StringHelper
开发语言·前端·unity·c#·游戏引擎