张羿的CSDN专栏

正在开发.NET Native

另一道看上去很吓人的面试题:如何交换a和b两个整数的值,不用额外空间 (Rev. 2)

 这个题貌似完全颠覆一般的Logic:交换两个整数需要一个额外的空间用于保存:t = b;b = a;a  = t;粗看上去似乎没有办法,但是仔细想一下,既然不能用额外的空间,那么能用的方法就只有数学方法,也许有效,那么第一个想法就是用A+b看看,稍微想一下就可以得到下面这个解法: a = a +...

2007-04-28 23:12:00

阅读数:5512

评论数:9

一道看上去很吓人的算法面试题:如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)

看上去似乎任何已知的算法都无法做到,如果谁做到了,那么所有的排序方法:QuickSort,ShellSort,HeapSort,BubbleSort等等等等,都可以扔掉了,还要这些算法干吗阿,呵呵。不过实际上,在数字范围有限制的情况下,是有一个这样的算法的,只需要用一个数组记录每个数字出现次数就可...

2007-04-28 22:59:00

阅读数:12099

评论数:14

今天David Solomon的为期三天的Windows Internal培训刚结束

今天David Solomon的为期三天的Windows Internal培训刚结束,很累,但是也受益匪浅。讲座基本上是他和Mark合著的Windows Internal书+最新的Vista相关内容,讲的非常清晰透彻,不愧是David。(其实搞技术不一定非要写程序,像他,还有Don Box, Je...

2007-04-27 22:21:00

阅读数:2702

评论数:4

转贴:Mark Russinovich的Inside Vista Kernel系列文章,讲到了Vista内核的调度,IO,内存管理,缓存,事务处理,安全等众多新特性

Mark Russinovich的Inside Vista Kernel系列文章。Mark是SysInternals的创始人之一,是多个著名系统工具的作者,是Windows系统内核方面的高手。不久前他接受了Microsoft的Technical Fellow职位,参与Windows Kernel开...

2007-04-27 00:26:00

阅读数:2545

评论数:0

转载:如何指定程序在Vista上面需要提升权限运行(Elevated)

在Manifest中加上下面内容即可:                                                       level=""asInvoker""               uiAccess=""...

2007-04-19 22:33:00

阅读数:2457

评论数:1

如何知道可执行文件是32-bit还是64-bit

可以使用GetBinaryType API来获得这个信息:BOOL GetBinaryType(  LPCTSTR lpApplicationName,  LPDWORD lpBinaryType);Binary Type可以是下面的值。 Value ...

2007-04-19 21:02:00

阅读数:2624

评论数:0

.NET Interop: 从IErrorInfo错误对象获得托管代码的异常信息

当调用IDispatch::Invoke函数的时候,当函数调用过程中抛出了异常,Invoke函数会返回DISP_E_EXCEPTION,代表异常发生。Invoke函数的pExceptionInfo参数可以提供关于异常的有关信息: ...

2007-04-18 21:25:00

阅读数:2422

评论数:0

Microsoft Silverlight正式发布

微软在4月15号(美国时间)的NAB(National Associates of Broadcasters)会议上宣布WPF/E正式更名为Microsoft Silverlight。Silverlight是跨浏览器,跨平台(目前只支持Windows/Mac)的多媒体交互解决方案。Sliverli...

2007-04-17 21:42:00

阅读数:2280

评论数:0

国际化编程中Locale相关概念的一些解释

Locales一般常用的并且容易造成混淆的Locale有3种:System Locale, User Locale, Thread Locale1.     System Locale:系统区域设置。决定了非Unicode程序所使用的代码页,如下:System Locale对应的Code Page...

2007-04-13 22:19:00

阅读数:3184

评论数:0

PIA (Primary Interop Assembly) & AIA (Alternate Interop Assembly)简介

当用.NET调用已有的COM组件的时候,一般需要使用tlbimp导入COM组件的TypeLibrary信息,生成对应的Interop Assembly。所谓PIA (Primary Interop Assembly),则是“官方”发布的对于某个COM组件的.NET DLL。比如微软公司发布了Off...

2007-04-12 23:42:00

阅读数:3418

评论数:0

C++反汇编揭秘2 – VC编译器的运行时错误检查(RTC)

我在上篇文章举了一个简单的C++程序非常简略的解释C++代码和汇编代码的对应关系,在后面的文章中我将按照不同的Topic来仔细介绍更多相关的细节。虽然我很想一开始的时候就开始直接介绍C++和汇编代码的对应关系,不过由于VC编译器会在代码中插入各种检查,SEH,C++异常等代码,因此我觉得有必要先写...

2007-04-08 20:10:00

阅读数:5325

评论数:3

提示
确定要删除当前文章?
取消 删除
关闭
关闭