2012年12月23日

怎么看C++对象的内存结构 和 怎么解密C++的name mangling

摘要: Dumping a C++ object’s memory layout with Clang这篇文章讲述了怎么用Clang来看C++对象的结构,回复中Marek提到了怎么在Visual Studio中看。具体方法如下: C++项目右键属性,C/C++下的Command Line,加上这个选项 /d1reportAllClassLayout这样在编译时就会在output窗口看到所有的对象... 阅读全文

posted @ 2012-12-23 23:01 fresky 阅读(1597) 评论(0) 推荐(0) 编辑

C#中如何正确的实现IDisposable接口

摘要: Stackoverflow上的这个回答是我见过的讲的最清楚的怎么正确实现IDisposable接口,我简单挑重点翻译翻译吧。:)Disposed的出现就是要解决一个问题,那就是释放非托管的资源。.NET的垃圾回收不知道怎么去释放非托管的资源。所以,如果你的对象中有非托管的资源,你就需要提供一个函数给外面的人来释放它。我们有一个标准的名字:public void Dispose()在C#中有个接口,只包含了这个函数,所以如果你的类需要释放非托管资源,就需要实现这个接口,实现了这个借口,意味着你承诺在Dispose方法中释放非托管资源。public interface IDisposable{ . 阅读全文

posted @ 2012-12-23 22:20 fresky 阅读(1864) 评论(2) 推荐(2) 编辑

导航