博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Unity3d中C#使用指针(Unsafe)的办法(转)
阅读量:6449 次
发布时间:2019-06-23

本文共 1563 字,大约阅读时间需要 5 分钟。

近日由于在U3D项目中要使用到数据传递(C++ DLL的数据传递给U3D中的C#),其中涉及到需要使用C#的指针。直接编译会出现以下错误Unsafe code requires the 'unsafe' command line option to be specified

   

下面是我总结的解决办法:

1.去除MONO编辑器中的Unsafe错误,Assembly-CSharp鼠标右键找到Options->Build->General Allow 'unsafe' code 打钩。这个只能去除MONO报错,但是依然无法运行。

2.首先看下面一段比较长的

Custom Preprocessor Directives

It is also possible to define your own preprocessor directives to control which code gets included when compiling. To do this you must add in the "Assets/" folder a text file with the extra directives. The name of the file depends on the language you are using :

   

C#

<Project Path>/Assets/smcs.rsp

C# - Editor Scripts

<Project Path>/Assets/gmcs.rsp

UnityScript

<Project Path>/Assets/us.rsp

Boo

<Project Path>/Assets/boo.rsp

As an example, if you include the single line '-define:UNITY_DEBUG' in your smcs.rsp file the define UNITY_DEBUG will exist as a global define for C# scripts, except for Editor scripts.

Every time you make make changes to the .rsp files a recompilation needs to be done for them to be effective. You can do this by updating or reimporting a single script (.js, .cs or .boo) file.

The usage of the .rsp files is described in the help of the smcs application, included in the Editor installation folder. You can get more information by running : "smcs -help".

在你的Assets目录下面添加smcs.rsp文件,里面只加一行字不要有空格  -unsafe OK搞定。记得一定要重启Unity3d, 因为这个预编译是在启动U3D时候运行的。工程文件名别带中文。

原理是编辑器中的smcs.exe 添加编译命令,也可以在CMD下运行编辑器目录下的smcs.exe  逐个添加,会很累的。

测试代码:

unsafe void test () {

     int i=10;

            int k;

            int *j=&i;      

            k=*j+1;

           print("unsafe test " + k.ToString());

 }

   

源文档 <>

转载地址:http://yhowo.baihongyu.com/

你可能感兴趣的文章
复旦大学游记
查看>>
linux删除文件未释放空间问题处理
查看>>
[20151208]关于Oracle Row Lock.txt
查看>>
JavaScript中的分号插入机制
查看>>
SQL Server调优系列玩转篇三(利用索引提示(Hint)引导语句最大优化运行)
查看>>
[20160921]linux下建立samba服务器.txt
查看>>
在线教育解决方案——亿网软通“互联网+”解决方案助力教育企业
查看>>
VSTO学习笔记(五)批量编辑Excel 2010 x64
查看>>
即时编译和打包您的 Groovy 脚本(转)
查看>>
未能加载文件或程序集 Microsoft.ReportViewer.Common, Version=11.0.0.0
查看>>
嵌入式 hi3518c裸板uboot烧写、kernel烧写、fs烧写小结
查看>>
【直击2017杭州·云栖大会】TECH INSIGHT企业级技术赋能专场
查看>>
服务器托管怎么选择好的服务商
查看>>
物联网:带来连接、平台两大机遇
查看>>
在微博微信看不到真诚?这些社交应用让你不用再装
查看>>
82%的IT专业人员认为Windows 10会让他们的公司更安全
查看>>
与美女CEO罗元裳共进午餐!朋友圈被7分钟理财刷屏!
查看>>
卡巴斯基网络安全解决方案实现自动化
查看>>
皮尤:62%美国成人从社交网站获取新闻
查看>>
Windows 10 Mobile内部编译版本已移除Silverlight支持
查看>>