- 博客(131)
- 收藏
- 关注
原创 微软全球技术支持中心3月1日现场招聘会
帮忙CSS的同事投递一下: 微软全球技术支持中心(Microsoft CSS)将于2008年3月1日(星期六)在徐家汇美罗大厦会议中心(B1层)举行现场公开招聘。如果您或者您的朋友: 1. 聪明,对技术(特别是微软的技术)充满热情 2. 具有2年以上相关的软件开发或IT支持工作经验 3. 具备良好的中英文沟通能力 请参考以下职位链接递交简历申请感兴趣的职位, 我们将根据您的申请和初选的结果发邀
2008-02-25 16:57:00 2818
原创 谈.NET中几个怪异的CustomAttribute
大家都知道AssemblyVersionAttribute是用来指定Assembly的版本号使用的,但是不知道你有没有考虑过这个问题:这个Attribute真的生成到了最后的Assembly中吗?我们建立一个简单的C#项目试一下便可以知道。在新建的C#项目中AssemblyInfo.cs缺省有如下的内容:
2008-02-20 23:01:00 4225
原创 刚看到我的第一篇MSDN杂志文章被发表了
刚刚去逛了一下子MSDN杂志的网站,发现我的文章终于发表了!这是大约半年前,我刚开始进入CLR Interop开发时候写的一篇比较简单的关于CLR中的Marshalling的文章,和我们的PM合著的(PM写的是后面的工具的内容,不过这个工具并非是上海这边开发的,而是由美国的同事开发的)。主要是澄清一些常见的容易让人混淆的地方。MSDN杂志网站提供文章的多种语言的翻译版本,但是因为原文是用英文写的,
2007-12-25 09:47:00 3211 4
原创 Silverlight 1.1正式更名为Silverlight 2.0
详情请参看下面两篇Blog:http://weblogs.asp.net/scottgu/archive/2007/11/29/net-web-product-roadmap-asp-net-silverlight-iis7.aspxhttp://blogs.msdn.com/tims/archive/2007/11/29/silverlight-1-1-is-now-silverligh
2007-11-30 10:18:00 2998 1
原创 如何调试托管代码(managed code)和非托管代码(native code)混合的项目
在调试同时存在托管代码和非托管代码的程序的时候,需要特别注意选用适当的调试器的类型。因为看到类似的问题问得比较多,因此这里把做法写出来。在托管项目中在调试之前,需要打开对非托管代码调试的功能,这个选项在项目的属性的Debug选项中存在:<v:shapetype id="_x0000_t75"coordsize="21600,21600" o:spt="75" o:preferrelat
2007-10-31 23:48:00 5611 2
原创 Calling Convention的总结
因为经常需要和不同的Calling Convention打交道,前段时间整理了一下它们之间的区别,如下: 清理堆栈 参数压栈顺序
2007-10-28 23:48:00 9638 2
原创 .NET Main函数参数解释过程和特殊规则
最近正在准备一个小型开发工具的发布工作(具体的内容请容我先卖个关子,等发布之后我会详细给大家介绍的)。在使用时不经意中发现,使用.NET开发的命令行工具的对引号和反斜杠 /和一般命令行程序有着不同的解释规则。举例来说,如果你在命令行下输入: C:/> tool “C:/Progr
2007-10-28 23:35:00 4234 1
原创 .NET/Rotor源码研究1补遗 - 解决无法检测操作系统版本的错误
最近不少朋友反映在编译Rotor的时候出现无法检测操作系统版本的错误,具体现象为执行env.bat的时候报错: Could not get platform OS version
2007-10-21 20:46:00 5438
原创 COM和套间(Apartments) 1 - 基本知识
OverviewCOM技术过时了吗?这句话也对也不对。从技术上讲,确实COM的使用率在下降,但是从思想上来说,COM的面向接口的思想正在被Java和.NET发扬光大。那我们还需要和COM打交道吗?这取决于你工作的领域。虽然现在微软的平台在慢慢向着.NET迁移,不过,在维护原有非托管代码,编写和Windows系统组件打交道的程序,以及使用CLR调用非托管代码的时候,COM或多或少都是不可避免的。
2007-10-14 22:16:00 6389 3
原创 .NET SDK中CorFlags.Exe的用法
CorFlags是.NET Framework中一个用于查看.NET 可执行文件(PE)的运行参数的非常有用的工具,但是这个工具输出的结果不是特别直观,文档中并没有做出解释,本文将用实际例子解释CORFLAGS的用法。首先我们来看一个一般的情况,随便写一个A.CS文件,用CSC编译,并用CorFlags察看
2007-10-07 21:48:00 9902 1
转载 ZZ:使用.NET语言开发Silverlight应用程序入门(二):界面和对象模型
(本文转载自Silverlight上海开发团队Blog,是“使用.NET语言开发Silverlight应用程序入门”系列之第二篇。转自http://blog.csdn.net/SilverlightShanghai/archive/2007/09/28/1805279.aspx. 如果有对于Silverlight技术本身的疑问,看法,意见,建议,或者是对于希望看到Blog的内容有建议,请访问 ht
2007-10-04 21:42:00 2631
转载 ZZ:使用.NET语言开发Silverlight应用程序入门(一):了解项目结构
(本文转载自Silverlight上海开发团队Blog,是“使用.NET语言开发Silverlight应用程序入门”系列之第一篇。转自http://blog.csdn.net/SilverlightShanghai/archive/2007/09/23/1796794.aspx如果有对于Silverlight技术本身的疑问,看法,意见,建议,或者是对于希望看到Blog的内容有建议,请访问http:
2007-10-04 21:39:00 2780
翻译 微软宣布将发布.NET Framework Library源代码
(翻译整理自Scott Guthrie的Blog:http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx)在早些时候,也就是10月3号,微软宣布将随.NET Framework 3.5和VS 2008同时发布BCL的源代码,以
2007-10-04 12:31:00 3265 2
原创 Vista SP1 Beta版体验
前几天收到内部的关于Vista SP1 Beta和Windows Server 2008 RC0的Annoucement的Email,今天终于有空安装了一次Vista SP1 Beta。安装的时候首先需要Prepare Installation,大概是安装一些安装所需要的组件或者解压缩吧。Prepare大概花了半个小时,然后的安装大概花了1个小时左右,画面一直停在登录的那个蓝色的界面上面,中间重启
2007-10-01 19:45:00 4223 3
转载 走近Silverlight - 微软Silverlight上海开发团队Blog第二篇
Silverlight上海开发团队Blog第二篇,是对Silverlight技术的一个比较全面的介绍。本文转自http://blog.csdn.net/SilverlightShanghai/archive/2007/08/21/1753258.aspx如果有对于Silverlight技术本身的疑问,看法,意见,建议,或者是对于希望看到Blog的内容有建议,请访问http://blog.csdn.
2007-08-21 21:02:00 3109
原创 庆祝微软Silverlight上海开发团队的博客正式开张!
经过准备,我们位于上海微软中国研发集团服务器与开发工具事业部的Silverlight开发团队Blog终于上线了!不管是Silverlight技术本身的疑问,看法,意见,建议,或者是对于希望看到Blog的内容,你都可以访问http://blog.csdn.net/SilverlightShanghai,留下你的宝贵意见。:)现转载全文如下:http://blog.csdn.net/Silverlig
2007-08-20 22:02:00 3241 3
原创 .NET中的幕后英雄:MSCOREE.DLL
现在做.NET Framework的开发的朋友应该是越来越多了,但是可能并非人人都对MSCOREE.DLL非常了解。而事实上,毫不夸张地说,MSCOREE.DLL是.NET Framework中最为核心的DLL之一,没有这个DLL,托管程序根本无法开始执行起来,但是由于这个DLL藏在System32目录下,根本无人问津,可以说是有点委屈了这位.NET Framework中的幕后英雄。本文主要讨论M
2007-08-19 23:46:00 25991 18
原创 .NET/CLR好书推荐
最近一直在看CLR方面的书籍,发现了几本不错的书,于是整理一下自己的感受放上来,希望能够对大家选择合适自己的书有所帮助。 1. CLR via C#, 2nd Edition这本书不用我多说了。Jeffrey Richter的经典之作。条理清晰,深入浅出,绝对是学习.NET/CLR的必读。国内只有翻译版本。http://www.amazon.com/CLR-via-Seco
2007-08-16 00:34:00 8593 6
原创 如何在NTFS文件系统中创建文件的Link
大部分朋友可能知道UNIX提供了创建文件的Link的功能,而用过Windows的NTFS文件系统所支持的Link功能的朋友可能就没有那么多了(注意我说的不是Shortcut)。今天正好由于工作原因研究了一下相关内容,整理一下分享出来。本文简单介绍如何在Windows系统中使用NTFS文件系统所提供的功能创建Link。NTFS支持两种Link,Junction Point和Hard Link。J
2007-08-13 20:24:00 4896
原创 如何构造一个元素类型为Struct的SafeArray
在有些时候,我们需要构造一个元素类型为Struct的SafeArray,在MSDN并没有文档解释到底应该如何去做到这一点,下面的代码片断解释了如何去构造这样一个SafeArray。假设我们有如下的Struct: struct myStruct {
2007-08-12 16:50:00 3949 3
原创 Windows Vista真的只是加了新界面吗?
经常看到很多朋友认为Windows Vista的改变主要是在界面上的。事实是,界面可能确实是Vista对普通用户最为有吸引力的一大方面,也是宣传最多的,但是事实上,Windows Vista还有着非常之多的重大改进:比如内核级别的改变有:CPU Cycle CountingMultimedia Class Scheduler ServiceFile-Based Symbolic LinksI/O
2007-08-11 01:45:00 2321
原创 恢复定期更新Blog...
大家好,由于最近工作一直比较忙,Blog的更新也没有以前频繁了(或者说基本上没有了,呵呵),现在我准备重新恢复定期更新Blog,今天刚才的那一篇就算是一个开头吧。由于工作的关系,以后的Blog的中心会集中在CLR,C++/Win32/COM,以及Silverlight上面,Rotor源码分析系列依然会继续不定期更新。感谢大家的关注!
2007-08-11 01:14:00 1885
原创 使用WinDbg对Windows Live Toolbar死锁的简单分析
我一直在用Windows Live Toolbar中的Live Favorites来同步我的书签信息,但是速度总是很慢,甚至完全死掉。今天闲来无事,刚看到Mark的一篇Blog http://blogs.technet.com/markrussinovich/archive/2006/08/31/453100.aspx,对于他不放过任何问题的精神很是钦佩,准备效法一番。正好遇到IE关闭之后停
2007-08-11 00:48:00 4358 1
原创 Visual Studio中的Class Designer设计工具需要您的建议!
帮同事Post一下相关调查,有兴趣的朋友可以参加一下,谈谈自己对Class Designer工具的看法 大家好, Class Designer是Visual Studio里的一个工具,可以将类之间的结构关系可视化、支持开发人员对类进行视觉化的设计和重构。它充分利用开发人员所选择的语言的术语来表现类图,使Class Designer的学习成本降至最低。Class Designer首
2007-07-30 23:01:00 3903 1
原创 微软在全国高校举办Silverlight大赛: http://www.msuniversity.edu.cn/static/silverlight/index.html
微软公司近期开始了全国高校范围内Silverlight大赛的报名工作。详情请登陆:http://www.msuniversity.edu.cn/static/silverlight/index.htmlSilverlight是微软最新的跨平台,跨浏览器的网络开发技术,支持托管代码和动态语言(DLR)。这是一次体验微软最新技术,同时展现自己技术和创意的一次绝好机会。大赛奖品有Zune,Mp3等。欢迎
2007-06-17 11:49:00 2882 1
原创 .NET / Rotor源码分析5 - 开始使用WinDbg+SOS调试,sscoree.dll,加载SOS并设置JIT断点
准备工作在经过一番准备之后,现在我们可以开始正式使用WinDbg+SOS来调试托管代码了。如果你没有看过前两篇文章,那么请先阅读这两篇文章以对WinDbg+SOS有一个大致的了解。这两篇文章的链接在这里:.NET Rotor源码研究4 – 修改Rotor使其发送CLR Notification:http://blog.csdn.net/ATField/archive/2007/05/21/
2007-05-21 00:40:00 4052
原创 .NET / Rotor源码分析4 - 修改Rotor使其发送CLR Notification
在使用WinDbg + SOS正式跟踪Rotor的源代码研究.NET的实现之前,还有个问题需要解决:Rotor缺省并不会发出CLR Notification。CLR Notification是指CLR在运行的时候发出的一些通知,比如加载模块,代码被编译等等,这些通知对于调试Rotor / .NET以及SOS都非常重要。例如你可以设置调试器为一遇到CLR Notification便中断,在某些情况下
2007-05-21 00:07:00 4428
原创 手动生成C#的COM包装类的常见问题和解决办法
看一下如下代码: [Guid("25088995-7924-4B15-B01A-EA7C422ADC68")] public class CHelloClass : IHello { [Dis
2007-05-14 12:38:00 5474
原创 .NET / Rotor源码研究3 – 调试Rotor托管代码的利器:WinDbg和SOS
WinDbg+SOS简介在动手进一步研究Rotor之前,我们需要首先解决一个问题:用什么调试工具最好? 很有可能你会说,这还不简单,直接用Visual Studio不就好了?一般情况下是的,只不过,在这个情况下,Visual Studio并非是最好的选择:1. CLR对代码的编译是动态进行的(其实还有可能是静态的,称之为Prejit或者NGEN,不过可惜Rotor对此不支持),也就
2007-05-12 18:08:00 4731 4
原创 Visual Studio 2005的JIT Debugger在Vista上面无法正常工作
Visual Studio 2005的Jit Debugger在Vista上不工作,即使你打了SP1和Update for Windows Vista也不行。修改Jit Debugger使其工作在Vista上需要大量的修改,因此这个工作被移到Visual Studio Code Name Orcas,也就是2007中去了。不过不排除微软会将修改Port到2005的下一个SP中的可能。如果你希望Ji
2007-05-10 19:39:00 2329
原创 我的MSDN Blog正式开张,欢迎大家访问 [ http://blogs.msdn.com/yizhang/ ]
我的MSDN Blog创建了其实有一阵子了,但是一直没有时间添加内容。这两天写了几篇文章(新的和在CSDN Blog上面发表过的,内容比较简单)放在上面。这个Blog主要是英文的内容,主要会和我在Microsoft的所进行的CLR开发工作有关系,以后会经常保持更新,同时我也会把同样的中文内容放到CSDN Blog里面。这几天CSDN Blog一直出问题,我也在考虑是否要把所有内容搬到MSDN BL
2007-05-10 19:32:00 3187 2
原创 ACM UVa算法题209 Triangular Vertices的解法
有一段时间没有做ACM算法题目了,今天正好有空便随便挑了209题来做做:ACM UVa算法题#209题这道题有几个要点:1. 给定坐标系坐标系很容易定,我采用的是第一个点为(0, 0)点,X方向差别为2个单位,Y方向差别为1个单位,点之间的距离,也就是LEN为1个单位,这样便于计算。注意我用的不是实际长度,而是抽象的单位,这个单位在不同方向上面意义不一样,否则很容易通过三角形相关公
2007-05-03 00:49:00 4994
原创 另一道看上去很吓人的面试题:如何交换a和b两个整数的值,不用额外空间 (Rev. 2)
这个题貌似完全颠覆一般的Logic:交换两个整数需要一个额外的空间用于保存:t = b;b = a;a = t;粗看上去似乎没有办法,但是仔细想一下,既然不能用额外的空间,那么能用的方法就只有数学方法,也许有效,那么第一个想法就是用A+b看看,稍微想一下就可以得到下面这个解法: a = a + b; b = a - b; a = a - b;还有更绝的(由DxZ网友
2007-04-28 23:12:00 5940 8
原创 一道看上去很吓人的算法面试题:如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
看上去似乎任何已知的算法都无法做到,如果谁做到了,那么所有的排序方法:QuickSort,ShellSort,HeapSort,BubbleSort等等等等,都可以扔掉了,还要这些算法干吗阿,呵呵。不过实际上,在数字范围有限制的情况下,是有一个这样的算法的,只需要用一个数组记录每个数字出现次数就可以了。假定你的数字范围在0到65535范围之内,定义一个数组count[65536](这个
2007-04-28 22:59:00 15109 13
原创 今天David Solomon的为期三天的Windows Internal培训刚结束
今天David Solomon的为期三天的Windows Internal培训刚结束,很累,但是也受益匪浅。讲座基本上是他和Mark合著的Windows Internal书+最新的Vista相关内容,讲的非常清晰透彻,不愧是David。(其实搞技术不一定非要写程序,像他,还有Don Box, Jeffrey Richter, Scott Meyers等这样优秀的专家/讲师/作家/Consultan
2007-04-27 22:21:00 2950 4
转载 转贴:Mark Russinovich的Inside Vista Kernel系列文章,讲到了Vista内核的调度,IO,内存管理,缓存,事务处理,安全等众多新特性
Mark Russinovich的Inside Vista Kernel系列文章。Mark是SysInternals的创始人之一,是多个著名系统工具的作者,是Windows系统内核方面的高手。不久前他接受了Microsoft的Technical Fellow职位,参与Windows Kernel开发。本文讲到了Vista内核的调度,IO,内存管理,缓存,事务处理,安全等众多新特性。文章共分三个
2007-04-27 00:26:00 2746
原创 转载:如何指定程序在Vista上面需要提升权限运行(Elevated)
在Manifest中加上下面内容即可: level=""asInvoker"" uiAccess=""false"" /> 全文请见:http://blogs.msdn.com/shawnfa/archi
2007-04-19 22:33:00 2702 1
原创 如何知道可执行文件是32-bit还是64-bit
可以使用GetBinaryType API来获得这个信息:BOOL GetBinaryType( LPCTSTR lpApplicationName, LPDWORD lpBinaryType);Binary Type可以是下面的值。 Value Meaning
2007-04-19 21:02:00 2956
原创 .NET Interop: 从IErrorInfo错误对象获得托管代码的异常信息
当调用IDispatch::Invoke函数的时候,当函数调用过程中抛出了异常,Invoke函数会返回DISP_E_EXCEPTION,代表异常发生。Invoke函数的pExceptionInfo参数可以提供关于异常的有关信息: IDispatch *pDisp; EXCEPINFO
2007-04-18 21:25:00 2716
原创 Microsoft Silverlight正式发布
微软在4月15号(美国时间)的NAB(National Associates of Broadcasters)会议上宣布WPF/E正式更名为Microsoft Silverlight。Silverlight是跨浏览器,跨平台(目前只支持Windows/Mac)的多媒体交互解决方案。Sliverlight的相关资源:· http://www.microsoft.c
2007-04-17 21:42:00 2547
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人