实验环境:Windows XP,Visual Studio 2010 ?Ultimate
? ? ? ? 由于在C#中指针的使用被认为是“不安全代码”,因此在大多数情况下不鼓励使用,但是在有些情况下使用指针会使编程更加简单,并能够提高程序的性能。下面使用一个简单的程序来演示指针在C#中的使用。
1 创建项目
? ? 文件>>新建>>项目,选中“控制台应用程序”,如下图所示:
? ??
2 添加代码如所示意。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace testPointer
{
? ? public struct Gas
? ? {
? ? ? ? internal double p;
? ? ? ? internal double t;
? ? ? ? public Gas(double p, double t)
? ? ? ? {
? ? ? ? ? ? this.p = p;
? ? ? ? ? ? this.t = t;
? ? ? ? }
? ? }
? ? //unsafe——非安全模式
? ? public unsafe class Program
? ? {
?
? ? ? ? static void Main(string[] args)
? ? ? ? {
? ? ? ? ? ? Gas g = new Gas(100.0, 300.0);
? ? ? ? ? ? WriteContents(&g);
? ? ? ? }
? ? ? ? //C#中使用指针被认为是不安的
? ? ? ? public static void WriteContents(Gas* gas)
? ? ? ? {
? ? ? ? ? ? Console.WriteLine("p is {0}", gas->p);
? ? ? ? ? ? Console.WriteLine("t is {0}",gas->t);
? ? ? ? }
? ? }
}
3 调试
3.1 为了是的Viusal Studio 2010能够进行不安全模式的调试,要进行一些设置。单击菜单栏的“项目”|"xxx属性",然后在弹出来的窗体中,
选中"生成",勾选“允许不安全代码”。如下图所示(xxx是你给项目起的名字)。
? ? ? ? 3.2 设置完成后,就可以调试了。单击菜单栏的“调试”|“启动调试”,结果如下图。
4 工程源码。点击这里下载。
参考资料
《C#实用编程百例》,清华大学出版社,何鹏飞,王征等 编著
《C#程序设计——基础教程与实验指导》——清华大学出版社,孙晓非 牛小平 冯冠 ?李乃文 编著
《C#程序设计与案例教程》,清华大学出版社,杨树林,胡洁萍 编著
用着用着忽然弹出对话框错误提示:
Microsoft(R) Visual C++ Package Server 已停止工作
?? 出现了一个问题,导致程序停止正常工作。请关闭该程序。
“关闭程序” “调试程序”
?
顺带一说,我是 Win7 Sp1, ? Hp g4. i3. 4G
?
网上寻得答案,已解决问题:
VCPkgSrv?是关于Visual Studio 2010?中IntelliSense。?您可以从菜单栏中的工具-》选项-》文本编辑-》C/C++-》高级-》IntelliSense-》禁用IntelliSense。关闭此程序。此外,我也建议您可以把您的问题提交到以下地址,以获得更多的支持:http://www.gsm-guard.net/
?
?
?
这里是connect?上关于这个问题的一些链接:
?
1.?http://www.gsm-guard.net/VisualStudio/feedback/details/637217/vcpkgsrv-exe-crashing
?
2.?http://www.gsm-guard.net/VisualStudio/feedback/details/636817/vcpkgsrv-exe-crashes-periodically
?
3.?http://www.gsm-guard.net/VisualStudio/feedback/details/633235/vcpkgsrv-crashing-all-the-time-intellisense-not-working
?
4.?http://www.gsm-guard.net/VisualStudio/feedback/details/635679/vcpkgsrv-exe-constantly-crashing-precompiled-headers-involved。
?
5.?http://www.gsm-guard.net/VisualStudio/feedback/details/502514/vcpkgsrv-exe-throwing-exceptions-on-browsing-project-files
?
解决问题的网站链接:
http://www.gsm-guard.net/Forums/zh-CN/visualcpluszhchs/thread/57e9cc33-b76b-4009-9eb5-ae4722ac1fb3/?
也不知道到底怎么了,就出现这种奇怪的问题了,只要是新建项目或者新建文件,VS2010 就卡死,发现线程数 由开始的30 突增 到370多个,然后CPU利用率居高,最后堆栈溢出,崩溃。下面就是崩溃的截图:
然后着急啊,真TMD对微软的产品感到恶心!微软 就会 将他们的产品集成到系统。微软的 安装服务 也是超级恶心,一次只能安装或卸载一个软件,而且 微软的产品经常还要安装源文件,真是对微软的产品反感 啊。。
然后搜索:vs2010 已经停止工作
看到?http://www.gsm-guard.net/blog/static/7084345520117141839833/?终于解决了VS2010的已停止工作的问题了这问题真是搞笑啊。。。
还是看到这个文章才有了希望 :http://www.gsm-guard.net/Forums/zh-CN/vstudiozhchs/thread/52d0a587-bb58-41ea-8b05-a8d1d3d15653
1 打开开始菜单》所有程序》Microsoft Visual Studio》Visual Studio工具》Visual Studio命令行(以管理员身份);
2 激活Visual Studio的日志功能:输入Devenv.exe /log。参见:http://www.gsm-guard.net/zh-cn/library/ms241272.aspx;
3 尝试运行下面的几个devenv开关:devenv /Resetsettings,devenv /ResetSkipPkgs, devenv /Safemode;
4 重新启动系统并进入安全模式,这样可以消除一些第三方的程序/驱动的影响;
5 尝试建立并使用新的用户登陆系统。
devenv /resetSkipPkgs试过,不管用,这几种方法 反正 都尝试一下 吧,结果还真好了:
?
可以新建立项目了,而且线程数 也没有太多。
?
PS:Cnblogs的图片编辑功能 不是很方便,有点无奈,只能手动编辑代码了。
转载于:https://www.gsm-guard.net/ayanmw/archive/2012/10/24/2736731.html