.NET中调用不安全代码
2013-12-04 01:08 左眼微笑右眼泪 阅读(430) 评论(0) 编辑 收藏 举报.NET中是不允许不安全的代码的,比如指针等。但有些特殊场合还是需要用到指针,这时候就需要在你的代码块上加上unsafe标签。如:
1: unsafe static void Main(string[] args)
2: {
3: int a = 5;
4: int* p = &a;
5: ChangeValue(p);
6: Console.WriteLine(a.ToString());
7: Console.ReadLine();
8: }
9:
10: unsafe static void ChangeValue(int* pInt)
11: {
12: *pInt = 23;
13: }
有时候加上了unsafe标签,编译器会报一个错误:
![image image](http://images0.cnblogs.com/blog/273906/201312/04010721-4bbf3c9a6976434bbe367c0870fe34e9.png)
这是因为除了要加上unsafe关键字,还需要在项目属性里面设置一下,允许不安全代码,如下图:
设置好了后,即可顺利编译通过。
参考:
http://www.cnblogs.com/webcyz/archive/2011/01/06/1928905.html