自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

陈锋-TechBlog

思考,实践,交流

  • 博客(88)
  • 资源 (2)
  • 收藏
  • 关注

原创 如何得知一个__ComObject对象的实际类型

在使用Com Interop的时候(像VS Macro和VSTO)的时候,一个函数的返回值往往在Debugger中显示为System.__ComObject。这个时候就可以使用Microsoft.VisualBasic.Information.TypeName(object VarName)来查询其实际的类型,这个函数内部调用了IDisPatch的 GetTypeInfo函数和ITypeInfo.

2007-12-25 21:31:00 2658

转载 一个双向链表的单指针实现

Save precious bytes with a new twist on a standard data type. In the quest to make small devices cost effective, manufacturers often need to think about reducing the memory size. One option is to

2007-11-27 15:11:00 2862

原创 C++学习 - 快速排序,更加优化的实现

头文件: 1: #pragma once 2: #include 3:   4: namespace FengChen 5: { 6:   7: template 8: class QuickSortDemo 9: { 10: public: 11: QuickSortDemo(void){} 12: ~Qu

2007-11-23 00:39:00 1351 2

转载 Effective C++学习记录之Things To Remember

对于C++程序员,Effective C++实在是必看的。最近看了一部分之后感觉每个item之后的Things To Remember非常有用,如果能总结下来时常看看思考思考,应该会相当有用,于是就想到写这篇文章,就当复习了,也希望能对学习C++的朋友有所帮助。 Item 1: View C++ as a federation of languages: Rules for e

2007-11-19 09:13:00 1465

转载 目前.net平台上的支持的语言列表

.NET Language Sites列出了目前target到.net平台的所有语言。值得一看哦,貌似比target到JVM的多哦。而且下面列举了一些关于CLR方面比较深入的书籍,很多非常值得一看的说。顺便BS下Eclipse的速度,同样是open source,怎么和sharpdevelop差距那么大呢?本来VS05的速度也很慢,不过VS08的性能就提高了很多。

2007-11-18 15:22:00 4458

原创 关于.net中反射的一个小问题

若果一个函数有个参数是传引用的,比如ref 或者out,该如何得到被修改的结果呢?请看如下的代码Int32[] input = new Int32...{1,2};txtOut.AppendText(input.Length.ToString() + Environment.NewLine);// txtOut is a multiline enabled textbox in my test

2007-11-18 15:08:00 935

原创 关于.Net安全性的两个小问题

1.如何在.Net 程序你检查当前的windows安全设置以及CAS安全设置 检查当前程序是否有admin的权限: String sddlAdmins = "S-1-5-32-544";  //Sid of administrators group IdentityReference AdminsSid = new SecurityIdentifi

2007-11-18 11:42:00 926

原创 关于NTFS的Alternate Data Streams

近日有人问起,如何在文件的摘要属性中增加一个自定义的项。起初我想到Office文档实际上是可以通过OLE来更改,但是其实有些文件比如Mp3,甚至txt文件也有摘要的,这些属性存放在那里呢,经过一番研究,发现实际上是存放在一个叫做Alternate Data Streams的地方,这个东东实际上是另外一个和当前文件相关联的文件。具体请看以下的link,并且你可以在程序中控制这个文件,最后code p

2007-11-18 01:20:00 1897

原创 P/Invoke传递的callback中会用到的一个很有用的属性

就像这个帖子中提到的,如果要调用C/C++ dll export出来的一个函数,并且要传一个callback的delegate进去,就会产生一个问题: delegate默认的函数调用约定是stdcall,但是C++端一般会要求这个callback是cdecl的。这个问题在.net 1.1中没有好的解决方法,只能反汇编你的assembly然后手动修改对应delegate的属性。 在.net 2.

2007-11-17 23:43:00 1194

原创 又一个关于反射的问题

一个客户说,他想通过load一个winform的exe来检查其中控件的属性值,比如tag,text等等。貌似合理,可他就是拿不到正确的属性。 实际上,如果你不构造一个这个form的实例,不可能拿到这些属性。你在winform designer中输入的值都被vs用codedom的方法在form的InitializeComponent中生成比如a.text = ""此类的语句,也就是说你只能在构造

2007-11-17 23:32:00 813

原创 C++学习练手之- RadixSort

using namespace std; // 把32位整数看成8位的16进制整数void RadixSort(vector& v){    vector tempStor(v.size());    vector offset(0x10);    vector count(0x10);     // 按照16进制对32位整数进行排序,总共进行8趟    for (int digit =

2007-11-15 10:56:00 965

原创 C++ 学习练手 - 双向链表的模板实现

 #ifndef __LINKEDLISTPRACTICE__H__#define __LINKEDLISTPRACTICE__H__ 1namespace FengChen...{    // template for double link list    template class Type> class LinkedList;    template class T>    st

2007-11-01 17:15:00 1176

原创 C++ 学习练手 - 数组型栈的模板实现

 #ifndef __STACKPRACTICE_H__#define __STACKPRACTICE_H__ 1namespace FengChen...{    template class Type> class Stack;        template class T>    std::ostream& operator(std::ostream& os, const Stac

2007-11-01 17:07:00 968

原创 C++ 学习练手 - 数组型队列的模板实现

 #ifndef __QUEUEPRACTICE_H__#define __QUEUEPRACTICE_H__ 1namespace FengChen...{    template class Type> class Queue;    template class T>    std::ostream& operator(std::ostream& os, const QueueT>&

2007-11-01 16:53:00 1278

转载 关于.net framework 2.0安装中出现的0x80131107错误的解决方案大全

Please first try the workaround in this article: Assembly load failure installing the 2.0 Framework which described an issue similar to yours.If this does not solve your problem, you can try using t

2007-10-30 11:10:00 18094

原创 算法学习,单链表 C# 泛型实现

这个链表没有暴露node接口,而是把链表本身包装成了一个Collection和List,实现了ICollection, IEnumerable, IList接口,写的过程中参考了BCL中的实现以及Wintellect.PowerCollection的实现以及写法。并且初步通过测试。namespace FengChen.Practices{    internal class ListNod

2007-10-18 20:44:00 1820 5

翻译 WinDbg 入门指导(3)-WinDbg中常用的功能以及设置

WinDbg的功能调试器扩展DLL所谓的扩展指的是一些DLL,你可以用在调试器内调用并且执行一些自定义的命令。这些DLL必须实现一些特定的函数,并且要满足一些需求,这样才能被认为是一个扩展DLL。在下一篇文章内,我们将会了解到怎样写出一个扩展DLL。所谓的bang(!)命令就是从你的扩展DLL内执行的命令。注意这些DLL是被加载到调试器的进程空间内。内存转储文件你可以使用转储功能来

2007-10-14 23:06:00 3382 6

原创 在数组中寻找主要元素的算法及其正确性证明。

在数组中寻找主要元素的算法。这个是数据结构与算法分析-C语言描述一书的课后习题2.19的解答。长度为n的数组A的主要元素,指的是在所有元素中出现次数超过n/2次的元素。(所以最多有一个而已。)下面的算法是Google出来的答案(原来是伪代码,我用C#实现了),教材上给的提示实在是难于理解。// Let T [1..n] be an array of n integers. An i

2007-10-12 17:45:00 2296 2

翻译 WinDbg入门教程(2)-各种调试场景介绍

调试场景远程调试使用WinDbg进行远程调试是很容易的,而且有很多种可行的方法。在下文中,’调试服务器’指的是运行在你所要调试的远程机器上的调试器。’调试客户端’指的是控制当前会话的调试器。·         使用调试器:你需要CDB, NTSD或者WinDbg已经安装在远程机器上。WinDbg客户端可以连接到CDB, NTSD或者WinDbg中的任何一个作为服务器,反之亦然。在客户端

2007-10-11 16:26:00 4729 5

翻译 Visual Studio 2008自动化模型的文档放出来了

VS 2008 的Automation的文档已经可用: Automation and Extensibility Reference.VSX team最近似乎专注于VSSDK的开发,最近似乎VS自身的自动化模型被忘却了。其实对于Visual Studio来说,最容易也最干净的扩展方式其实是AddIn.对于大部分人来说Package过于复杂,并且在大部分的场合也属于杀鸡用牛刀。而且Visua

2007-10-09 21:43:00 1000

翻译 WinDbg入门教程(1)-调试器的基础知识

WinDbg 入门教程介绍在我的职业生涯中,我看到我们大多数都是使用Visual Studio来进行调试,而不是用其它许多免费的调试器。你可能有许多理由来使用这样的调试器,比如,在你家里的机器上没装开发环境,但是一个程序一次次的崩溃。其实根据堆栈的dump就可以判断出IE的崩溃是否是由于一个第三方的插件。对于WinDbg,我目前为止还没有发现很好的快速入门的教程。这篇文章结合实例讨论了

2007-10-09 17:54:00 3543

原创 快速排序的C#实现以及,算法导论上之后一个习题的思考

//Divide: Partition (rearrange) the array A[p ‥ r] into two (possibly empty) subarrays A[p ‥ q - 1] //  and A[q + 1 ‥ r] such that each element of A[p ‥ q - 1] is less than or equal to A[q], which i

2007-10-08 11:08:00 1001

原创 Debugging Microsoft® .NET 2.0 Applications 读书笔记(3) - 调试Bug的完整过程

  Step 1: Duplicate the bug.这一步非常关键,Bug最关键的是能够Repro,因为很多时候问题往往是跟机器以及用户环境相关的。 Step 2: Describe the bug.问题最困难的不一定是在解决阶段,往往是在清晰描述的阶段。 Step 3: Always assume that the bug is yours.一般情况下,很少会有问题是

2007-10-07 11:20:00 779

原创 基于最小二叉堆的优先级队列-C#实现,以此为基础的K路合并排序算法

 这两个程序实际上就是 算法导论6.5-3和6.5-8的C#实现。在Visual C# 2005下测试通过 <!--{/rtf1/ansi/ansicpg/lang1024/noproof936/uc1 /deff0{/fonttbl{/f0/fnil/fcharset0/fprq1 Consolas;}}{/colortbl;??/red0/green0/blue255;/red192/gr

2007-10-05 18:03:00 2139

原创 HeapSort的C#实现

把算法导论第六章的堆排序用C#实现了一下。 把MaxHeapify用迭代实现了。发现几个问题:第一呢,算法导论中假设内部数组是从1开始的,结果左右结点的算法和从0开始的数组实际上是不同的。第二呢,在改迭代的时候,粗心把循环变量写错了。结果调了很久,郁闷死。并且加入优先级队列的功能,包括Maximum, ExtractMax, IncreaseKey,  Insert, Delete子过程下面是实现

2007-09-28 00:08:00 1370

转载 .net framework 安装问题的解决方案的一些link

.net framework 安装问题的解决方法大全:Unified .NET Framework Troubleshooting Guide 太强了,这个文章How to manually cleanup a failed .NET Framework 2.0 installAssembly installation error codes in .NET Framework 2.0

2007-09-27 16:33:00 961

转载 清除显卡的右键菜单

原文在此  http://www.x-force.cn/article.asp?id=313其实就是个 批处理文件:regsvr32 /u /s igfxpph.dllreg delete HKEY_CLASSES_ROOT/Directory/Background/shellex/ContextMenuHandlers /freg add HKEY_CLASSES_ROOT/Directory/

2007-09-27 09:22:00 685

原创 Merge Sort 并且返回逆序数的算法 - C#实现

针对算法导论第二章的 Problem 2-4的C#实现:public static Int32 MergeSort(Int32[] InputArray)...{    // Divide: Divide the n-element sequence to be sorted into two subsequences of n/2 elements each.    Int32 Leng

2007-09-25 11:36:00 1265

原创 BinarySearch - C#实现

最近又重新开始学习算法,努力用C#把算法导论中的算法写一遍,并且调试通过,前段时间写的第一个算法就是BinarySearch, 同时还写了几个生成随机数组的函数,个人感觉用C#写算法的话,表达的比较清楚,毕竟算法主要讲究的是逻辑。不过这个算法我居然写了3个小时才通过各种各样的随机测试。狂汗啊!public static Int32 BinSearch(Int32[] InputArray,

2007-09-25 11:29:00 3396

原创 如何在托管程序中动态加载dll并且调用其中的函数

如果是托管的assembly,那么就Assembly.Load然后Reflection.之,从assembly -> type -> method层层推进。如果是最原始的windows dll,那只能loadlibrary和getprocaddress了。Type-safe Managed wrappers for kernel32!GetProcAddress.注意,这种方法有极大的危险性。

2007-09-21 15:20:00 902

原创 Getting IErrorInfo part of com error in Managed Code

有个客户问了如下的问题:How to Getting IErrorInfo part of com error in Managed Code?经过一番调查发现,在托管应用程序中,如果想要得到IErrorInfo中成员函数所对应的信息,就必须从产生的异常的字段中取得相应的信息。在MSDN的这个地方有详细的描述: How to: Map HRESULTs and Exceptions 

2007-09-11 14:49:00 799

翻译 Debugging Microsoft® .NET 2.0 Applications 读书笔记(2) - 一个优秀的Debugger需要的基本技能

The following list contains the areas in which you need to be proficient to become a great—or at least a better—debugger/developer: 下面的列表包含了, 如果你想成为一个伟大的,至少是优秀的Debugger/开发者,需要熟练掌握的一些技能: ·    

2007-09-05 16:40:00 784

原创 算法导论习题1.2的一些思考。

For each function f(n) and time t in the following table, determine the largest size n of a problem that can be solved in time t, assuming that the algorithm to solve the problem takes f(n)

2007-08-31 20:37:00 1053 1

转载 关于.net各个版本以及各个版本之间改进的介绍

.NET Framework 1.1 Class Library.NET Framework 2.0 Class Library Reference.NET Framework 3.0 Class Library Introducing the .NET Framework 3.0.NET Framework 3.0 Versioning and Deployment Q&A

2007-08-22 16:51:00 837

翻译 Debugging Microsoft® .NET 2.0 Applications 读书笔记(1) - 软件系统中Bug的来源分类

The reasons for bugs generally fall into the following process categories:·         Short or impossible deadlines  //太短或者干脆就不可能的工期·         The "Code First, Think Later" approach  //先编码,后考虑逻辑·  

2007-08-21 09:20:00 846 1

转载 C# 文件搜索

C# 进行文件搜索的两个小程序    WinSearchFile: how to search files on your PC – “WinSearchFile layout is simple and quite similar to the Explorer integrated search. It is possible to write a pattern search (w

2007-08-20 16:37:00 1259

转载 C# 2.0 中的 Friend Assemblies

C# 2.0 中的 Friend Assemblies C# 2.0 allows you to share non-public types and their members with other assemblies. The assemblies to which access is granted are called friend assemblies. There are two

2007-08-20 15:38:00 1685

原创 Visual Studio Object Model中每个Project对象的所有Property 索引项

 在Visual Studio的Object Model每个Project都有一个对应的Properties集合,这个就是这个集合中所有可供查询的索引项:StartupObjectManifestCertificateThumbprintTrademarkTitleVSPolicyExtenderProvider.TDLFileNameAssemblyOriginato

2007-08-17 14:28:00 1061

原创 Using Visual C++ 2005 Express Edition with the Microsoft Platform SDK

 原帖地址: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1995837&SiteID=1By Brian Johnson, Microsoft Corporation You can use Visual C++ Express to build powerful .NET Framework applications i

2007-08-17 10:30:00 1268

转载 模拟office 2007 界面的.net 控件

GotDotNet User Sample: mentas Ribbon 免费的,非常漂亮。 下面是一些收费的: Office 2007 style Ribbon Control for VS.NET Elegant Ribbon  

2007-08-15 16:43:00 1043

Expert .NET 2.0 IL Assembler.

Expert .NET 2.0 IL Assembler.

2008-10-14

The elements of C++ style

The elements of C++ style

2008-10-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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