Unity调用c++代码

创建一个 c++动态链接库项目:

1.

在项目 后面选择 DLL empty Project 

3.在SourceFiles添加c++ Files(cpp)代码如下

#include "stdafx.h"

#include "stdlib.h"

extern"C"__declspec(dllexport)intRandom(intmin,intmax)

{

returnrand() % (max - min + 1) + min;

}


extern"C"__declspec(dllexport)intMax(inta ,intb)

{

if(a<=b){

returnb;

}else{

returna;

}

}


extern"C"__declspec(dllexport)intSquare(inta)

{

returna * a;

}

所有希望使用DllImport引入C#的C++方法都应该在方法声明中增加__declspec(dllexport)关键字,除非它在.def文件中对这些方法进行显示声明(.def具体看msdn)

4. 编译:生成DLL 文件

5.新建UNITY ASSEST下的 Plugins文件夹把 c++生成的DLL 放进去 。

6 .在c# 调用c++方法

[DllImport("Native4Unity")]

private extern staticintRandom(intmin,intmax);//调用 c++函数

[DllImport("Native4Unity")]

private extern static intMax(inta,intb);

[DllImport("Native4Unity")]

private extern static intSquare(inta);


if(GUILayout.Button("调用C++ Native中的方法", GUILayout.Height (30)))

{

Debug.Log("调用C++ Native中的方法Random(0,10):"+ Random(0, 10));

Debug.Log("调用C++ Native的方法Max(5,10):"+ Max(5, 10));

Debug.Log("调用C++ Native中的方法Square(5):"+ Square(5));

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 动态调用动态库方法c/c++linuxwindows 关于动态调用动态库方法说明 一、 动态库概述 1、 动态库的...
    KINGZ1993阅读 14,743评论 0 10
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,793评论 19 139
  • 基础 .NET概述 参考:http://www.cnblogs.com/yplong/p/3279934.html...
    donite阅读 5,564评论 0 8
  • 二十多年了,自十二岁离家至今,对家乡的记忆越来越淡,村里的人都住上了新房子,把房子盖到了田里,老房子大都成了...
    國國2580阅读 3,287评论 0 0
  • 一、培养自己健康的心理保健意识 我刚刚重看了《滚蛋吧,小情绪》,我猜,很多人都跟我一样,每天被自己的小情绪困扰,并...
    幻想家Melon阅读 1,397评论 0 1