开源CLI核心探索团队最新随笔(rss)

CLR引擎初始化分析

     摘要: 在以前的一篇叫做<深入追踪Exe加载过程>的文章里面,从clix的launch函数开始,再到CorExeMain2函数,在CorExeMain2里面有一个叫做CoInitializeEE的函数:        result = CoInitializeEE(COINITEE_DEFAULT | COINITEE_MAIN) ...  阅读全文

2008-05-16 10:59 作者: lbq1221119【评论:10】【阅读:680】 

.Net程序集的不同加载方式,以及其在内存中格式

     摘要: .Net程序集除了正常的有框架自动按需载入外,我们还可以通过反射手动载入程序集。
其中反射载入程序集有一种方式就是 以字节流的方式载入程序集。而不是直接从磁盘文件载入。
很多.Net压缩壳,和整体保护壳都采用了这种方式。  阅读全文

2008-05-15 20:33 作者: 瑞克【评论:7】【阅读:1314】 

在Visual Studio 2008的环境下Build SSCLI 2.0(ROTOR)

     摘要: 快速指南: 下载文件包:  SSCLI 需要修改的文件包 而后在Visual Studio 2008 命令提示符下在SSCLI 2.0 根目录中运行 env.bat,而后运行buildall 即可 目标描述: 在Visual Studio 2008 + Windows XP Eng 的环境中Build SSCLI 2.0 运行环境: Window XP English + V...  阅读全文

2008-05-13 01:07 作者: xwang【评论:4】【阅读:30】 

并发数据结构:Stack

     摘要: Stack是一种线性数据结构,只能访问它的一端来存储或读取数据。Stack很像餐厅中的一叠盘子:将新盘子堆在最上面,并从最上面取走盘子。最后一个堆在上面的盘子第一个被取走。因此Stack也被称为后进先出结构(LIFO)。  阅读全文

2008-04-24 02:52 作者: Angel Lucifer【评论:17】【阅读:2073】 

使用DbgHelp获取函数调用堆栈之inline assembly(内联汇编)法

     摘要: 如果想自己获取应用程序的Call Stack,就需要查看Stack的内容。Stack Walker,在最近查看SSCLI源码的时候发现这个东西是和Stack Frame紧密联系在一起的。 Walking the Stack We could conceivably attempt to unwind the stack ourselves using inline assembly. But ...  阅读全文

2008-04-18 14:58 作者: lbq1221119【评论:3】【阅读:128】 

PowerShell的开源实现

     摘要: 从Mono老大的blog上Open Source Powershell Implementation 看到了一个PowerShell的开源实现的项目Pash。目前可以运行的平台包括Linux, MacOS, WindowsCE and Windows.   阅读全文

2008-04-17 08:01 作者: 自由、创新、研究、探索……【评论:2】【阅读:584】 

并发数据结构:迷人的原子

     摘要: 随着多核CPU成为主流,并行程序设计亦成为研究领域的热门。Lock-Free编程无疑是其中的一朵奇葩。  阅读全文

2008-04-16 15:10 作者: Angel Lucifer【评论:17】【阅读:2111】 

Midapex网络开发库v2.1(更新主题:使用C#实现的FTP Server)

     摘要: 在MidapexNetLib的基础上,使用C#实现FTP Server。具有稳定、可靠、跨平台、可二次开发、开源等特性。  阅读全文

2008-04-16 12:28 作者: 天下叁【评论:42】【阅读:2595】 

c#3.0系列:Object Initializer 和 Collection Initializer

     摘要:  对象初始化器(Object Initializers) 和 集合初始化器(Collection Initializers) ,就是简化我们的代码,让本来几行才能写完的代码一行写完。这样在LINQ的使用中,我们才不会把一个LINQ表达式写的复杂。 Object Initializers  Object Initializer的使用很简单:在通过new 关键字创建对象的时...  阅读全文

2008-04-15 11:21 作者: gjcn【评论:7】【阅读:1953】 

Windbg+Rotor:Managed Process中的各种Special Threads分析

     摘要: 这几天Oracle培训,数据库功力倒是没太大长进,倒是Debug,Windows架构和实现还有CLR的觉悟突飞猛进。 开篇前首先3ks下rick,他把他写的一票经典的文章都发到sscli.cnblogs.com团队里面来了。Rick可是我在看雪bbs上面久仰的大牛…由于写的文章时间在创建团队的时间之前,故需要翻到第一页才能看到rick的文章。      ...  阅读全文

2008-04-12 18:12 作者: lbq1221119【评论:11】【阅读:1857】 

c#3.0系列:Extension Method

     摘要: 我们说在C#3.0中,引入了一些列新的特性,但是个人认为Extension Method这个特性是最爽的,最有创新的。 它真正的解决了:在保持现有Type原封不动的情况下对其进行扩展,你可以在对Type的定义不做任何变动的情况下,为之添加所需的方法成员。下面我就来讲讲。 C#3.X出来之前 大家都知道javascript有个特新Prototype,它就如同C#3.X中的Extension...  阅读全文

2008-04-11 13:16 作者: gjcn【评论:14】【阅读:2017】 

c#3.0系列:Automatic Property

     摘要: 之前的做法: 在c#3.x出来之前,相信大家已经习惯通过一个private field + public property的发式来定义和实现一个public Property。就如下面方式实现。  1class person  2    {  3     &nb...  阅读全文

2008-04-10 11:06 作者: gjcn【评论:14】【阅读:1980】 

c#3.0系列:Anonymous Type In CLR(3.5)

     摘要: 我们说Anonymous Type是C# 3.0的新的特性,而没有说Anonymous Type是.NET Framework 3.5的新特性。这是因为Anonymous Type仅仅是.NET Programming Language和相应的Compiler的新引入的特征。而对于.NET Framework 3.5来说,它看不到这和原来有什么不同,对于Anonymous Type和一般的Name...  阅读全文

2008-04-09 14:19 作者: gjcn【评论:9】【阅读:1665】 

使用WinDbg+SOS及WinDbg Script寻找内存中DataTable第M行N列的值

     摘要: DataTable在内存中是如何存储一张表的结构的呢?如何使用Windbg直接在内存中找到一个DataTable里面的第M列第N行的值呢?这的确是一个比较有趣的问题^_^   下面的内容,主要是讲如何用windbg+sos来看看一个DataTable在内存中是如何存储的,以及寻找内存中一个DataTable特定的行列的一个单元的值是多少。同时,还有一点Windbg Script的使用...  阅读全文

2008-03-31 22:03 作者: lbq1221119【评论:18】【阅读:1794】 

WCF从理论到实践(12):事务

     摘要:

WCF从理论到实践


通过阅读本文,您能了解以下知识
1) 如何在WCF中实现事务?
2) 谈谈事务隔离方式的相关知识
3) 事务的实现会给我们编程带来什么样的阻力?
4) 一笔带过,WCF是如何实现分布式事务的?
5) 代码不骗人,用一个银行存取款的范例来演练WCF事务

  阅读全文

2008-03-30 21:54 作者: jillzhang【评论:16】【阅读:2604】 

一道题的思考

今天在书看到了一道题,大致内容是:9个台阶,从1到9,一次可以上一个或者两个台阶,不能大于2个,问有多少种不同的方法可以从1上到第9个台阶。

要求编程实现,证明或者说明你的方法是正确的。


我想了一个办法是直接用排列组合求解,可是答案更牛B,用斐波拉契数列。哎,看到了差距,用数列做其实很简单,而且这个数列也是计算机中最常见的。

2008-03-30 12:51 作者: Leon916【评论:2】【阅读:56】 

WinDbg+Rotor解析WinForm调用堆栈及实现

     摘要: 前段写过一篇文章“CLR探索系列:深入追踪托管exe加载执行过程”,在那篇文章中,主要是侧重静态代码的分析,追踪源代码的流程一步一步看是如何实现的。 这次,写一篇文章,结合Windbg,从一个托管应用程序执行的调用堆栈开始,追踪其调用堆栈中的线索,以及这些托管应用程序执行中调用的功能实现,来展示托管代码的加载和执行的流程和实现。 首先还是找一个小白鼠:     ...  阅读全文

2008-03-25 10:50 作者: lbq1221119【评论:2】【阅读:2159】 

并发数据结构:谈谈volatile变量

     摘要: C#编译器提供了volatile关键字,该关键字可以用于下述类型的静态/实例字段:byte,sbyte,short,ushort,int,uint,char,float和bool。此外,我们还可以将volatile关键字应用于引用类型以及枚举类型的基础类型是byte,sbyte,short,ushot,int,uint,float和bool的枚举字段。volatile关键字告诉C#和JIT编译器不再在CPU寄存器中缓存字段,从而确保字段的所有读写操作都是对内存的读写,JIT编译器则确保其语义正确,这样就不必显式调用Thread的静态方法VolatileXXX了。  阅读全文

2008-03-23 23:23 作者: Angel Lucifer【评论:19】【阅读:2528】 

探索 sscli, 开启 CLR 的大门 —— 配置环境详解

     摘要:     (博主:好久没有写东西了,真不知道该如何下笔,也许我的思路比较混乱,还请大家见谅。) 心得:       以前我一直是做dotnet开发,对于整个clr的架构非常感兴趣。而且对整个运行环境也进行过一些分析与跟踪。在这里给希望研究 CLR 内部原理以及实现的用户一个建议:sscli 不等于 Do...  阅读全文

2008-03-17 19:28 作者: Aplo【评论:5】【阅读:1533】 

CLR 2.0 Memory Model

     摘要: 内存模型对于任何编程语言的多线程并发/并行编程都是很重要的部分,发布这篇文章的目的在于为以后描述.NET多线程并发/并行编程做底层基础,尤其是在理解Lock-Free算法时。  阅读全文

2008-03-16 15:16 作者: Angel Lucifer【评论:11】【阅读:2316】 

RSS

导航

团队简介

团队公告

QQ群

其他交流方式

计数器

聚合

团队负责人

团队成员[共45人]

广告