【Unity3D日常BUG】Unity3D中出现“unsafe code 不安全的代码”的错误时的解决方法
推荐阅读
大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。
一、前言
今天遇到一个错误,就是提示使用了不安全的代码,如下图所示:
这应该是插件或者自己脚本中使用了不安全unsafe的代码。
二、什么是unsafe
2-1、什么是unsafe不安全代码
默认情况下,C#是不支持 指针 的,unsafe 关键词用于在C#表示不安全的上下文,如果想要在C#中进行任何和指针相关的操作,就必须配合unsafe关键词使用。
在公共语言运行时(CLR)中,不安全代码是指无法验证的代码。
C# 中的不安全代码不一定是危险的,只是 CLR 无法验证该代码的安全性。因此,CLR 将仅执行完全信任的程序集中的不安全代码。
如果你使用不安全代码,你应该负责确保代码不会引发安全风险或指针错误。
2-2、解决报错
在菜单栏找到File→Build Setting→Player Setting→Other Setting
下的Allow unsafe Code选项:
勾选该选项后,我们就可以在Unity中使用unsafe关键词了。
2-3、如何使用unsafe
用于修饰变量,给变量用上指针:
public class Testunfofa : MonoBehaviour
{
void Start()
{
Fun();
}
private unsafe void Fun()
{
int i = 3;
int* x = &i;
Debug.Log((int)x);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
注意:unsafe 的使用虽然能让我们在C#中使用指针,但是会存在安全风险和稳定性风险,如果没有特殊需求,请尽量避免在C#中使用 unsafe。
三、后记
你的点赞就是对博主的支持,有问题记得留言:
博主主页有联系方式。
博主还有跟多宝藏文章等待你的发掘哦:
专栏 | 方向 | 简介 |
---|---|---|
Unity3D开发小游戏 | 小游戏开发教程 | 分享一些使用Unity3D引擎开发的小游戏,分享一些制作小游戏的教程。 |
Unity3D从入门到进阶 | 入门 | 从自学Unity中获取灵感,总结从零开始学习Unity的路线,有C#和Unity的知识。 |
Unity3D之UGUI | UGUI | Unity的UI系统UGUI全解析,从UGUI的基础控件开始讲起,然后将UGUI的原理,UGUI的使用全面教学。 |
Unity3D之读取数据 | 文件读取 | 使用Unity3D读取txt文档、json文档、xml文档、csv文档、Excel文档。 |
Unity3D之数据集合 | 数据集合 | 数组集合:数组、List、字典、堆栈、链表等数据集合知识分享。 |
Unity3D之VR/AR(虚拟仿真)开发 | 虚拟仿真 | 总结博主工作常见的虚拟仿真需求进行案例讲解。 |
Unity3D之插件 | 插件 | 主要分享在Unity开发中用到的一些插件使用方法,插件介绍等 |
Unity3D之日常开发 | 日常记录 | 主要是博主日常开发中用到的,用到的方法技巧,开发思路,代码分享等 |
Unity3D之日常BUG | 日常记录 | 记录在使用Unity3D编辑器开发项目过程中,遇到的BUG和坑,让后来人可以有些参考。 |
文章来源: itmonon.blog.csdn.net,作者:恬静的小魔龙,版权归原作者所有,如需转载,请联系作者。
原文链接:itmonon.blog.csdn.net/article/details/127083297
- 点赞
- 收藏
- 关注作者
评论(0)