1. 程式人生 > 其它 >在Unity中使用C#呼叫C++動態連結庫(DLL)

在Unity中使用C#呼叫C++動態連結庫(DLL)

在Unity中使用C#呼叫C++動態連結庫(DLL)

https://blog.csdn.net/qq_51456342/article/details/125693678

[FNote:  屬性頁中無C++項時, 要先寫點程式碼編譯一下,就有了]

在Unity中使用C#呼叫C++動態連結庫(DLL)

輝哥威武

已於 2022-07-09 16:58:42 修改

1618
收藏 1
分類專欄: Unity遊戲開發 文章標籤: unity c# c++
版權

Unity遊戲開發
專欄收錄該內容
3 篇文章1 訂閱
訂閱專欄
一、建立C++動態連結庫(DLL)
二、將Dll庫在Unity工程中呼叫二、將Dll庫在Unity工程中呼叫@TOC

一、建立C++動態連結庫(DLL)
1、建立一個C++的空專案(如下圖)
建立一個C++的空專案:

2、配置專案屬性為動態連結庫
右鍵專案屬性開啟配置檔案的輸出型別為類庫【配置屬性】-》【常規】配置型別—動態庫(.dll)


3、簡單寫點程式碼
3.1 新增標頭檔案(.h)
標頭檔案 AddOperate.h。

#pragma once
extern "C" _declspec(dllexport) int Sum(int a, int b);
class AddOperate
{
public:
};
1
2
3
4
5
6
3.1 新增原始檔(.cpp)
原始檔 AddOperate.cpp。

#include "AddOperate.h"
#include "iostream"
using namespace std;

int Sum(int a, int b)
{
if (a - (int)a != 0 || b - (int)b != 0) {
cout << "請輸入整數" << endl;
return -1;
}
return a + b;
}

1
2
3
4
5
6
7
8
9
10
11
12
13
4、右鍵專案點選生成即可生成DLL檔案
在專案的Debug目錄下即可找到生成的DLL檔案

二、將Dll庫在Unity工程中呼叫
1、建立一個Unity工程:
2、新建一個資料夾命名為Plugins:
3、將之前生成的動態連結庫放到Plugins資料夾下,如下圖所示:


4、新建一個Test.cs測試指令碼呼叫C++程式碼:
下面展示一些 Test.cs。

using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Runtime.InteropServices;
using UnityEngine;
public class Test : MonoBehaviour
{

void Start()
{
Add(3, 4);
}

[DllImport("CPPDll2.dll", CallingConvention = CallingConvention.Cdecl)]
extern static int Sum(int a, int b);
public void Add(int a,int b)
{
UnityEngine.Debug.Log("呼叫C++程式碼計算a + b的結果為" + Sum(a,b));

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
執行結果:

————————————————
版權宣告:本文為CSDN博主「輝哥威武」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/qq_51456342/article/details/125693678