摘要: 通常,开发人员会使用C#,C++/CLI或者VB等高级语言来编程。这些高级语言的编译器将生成IL(中间语言)。然而和其他任何机器语言一样,IL也能使用汇编语言来写,微软甚至专门提供了一个名为ILAsm.exe的IL汇编器和一个名为ILDsm.exe的IL反汇编器。 .NET Framework 里面的DumpBin.exe和CorFlags.exe两个命令行程序,可用来检查编译器生成的一个托管... 阅读全文
posted @ 2008-08-30 17:09 不染丹心 阅读(673) 评论(0) 推荐(0) 编辑
摘要: 面向CLR的每个编译器还需要在每个托管模块中生成完整的元数据。 元数据:(metadata)是一系列特殊的数据表,它们描述了模块中定义的内容,比如类型及其成员。除此之外,还有一些元数据表指出了托管模块引用的内容,比如导入的类型及其成员。元数据是一些老技术的超集。这些老技术包括“类型库(Type Library)”和“接口定义语言(Interface Definition Language,IDL)... 阅读全文
posted @ 2008-08-29 17:18 不染丹心 阅读(394) 评论(1) 推荐(0) 编辑
摘要: 例如:在非托管的C/C++中,可以对系统进行一些相当低级的控制。可以完全按照自己的想法管理内存,如有必要,可以方便地创建线程等。另一方面,VB方便我们快速生成UI应用程序,并非常方便地控制COM对象和数据库。 阅读全文
posted @ 2008-08-29 12:41 不染丹心 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 将源代码编译成托管代码-->将托管代码模块合并成程序集-->加载公共语言运行库-->执行程序集的代码 阅读全文
posted @ 2008-08-29 11:14 不染丹心 阅读(739) 评论(0) 推荐(0) 编辑
摘要: .NET Framework的目标不是为了构建一种特定类型的应用程序而为开发人员提供一个抽象技术。相反,它的目标是为平或者windows操作系统本身提供一个抽象技术。换言之,.NET Framework为所有类型的应用程序提供了抽象等级。 .NET Framework的另一个目标是允许开发人员使用自己选择的编程语言来工作。 抽象技术取得的重大进步:单一的编程模型;API集合;... 阅读全文
posted @ 2008-08-23 13:34 不染丹心 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 自动垃圾管理: CLR可以验证我们编写的所有代码都是类型安全的。类型安全性确保总是采取一直的方式来访问已分配的对象。假如一个方法的输入参数声明为接受一个4字节的值,那么CLR会检测并捕捉到该方法打算将参数作为一个8字节值来访问。类似的,假如一个对象在内存中占用了10个字节,应用程序就不能强迫对象转换成允许读取10个以上的字节的形式。类型安全性还意味着执行流程只能经过已知的位置(也就是方法的入口... 阅读全文
posted @ 2008-08-23 12:02 不染丹心 阅读(405) 评论(0) 推荐(0) 编辑
摘要: 编程语言集成: COM允许不同的编程语言进行互操作。.NET Framework允许语言相互集成。这样一来,就可以自由使用其他语言的类型,感觉它们就像是我们自己的类型。例如:借助于CLR,针对用Visual Basic来实现的一个类,可以使用C++来创建它的一个派生类。CLR之所以允许这样做,是因为它定义并提供了一个“通用类型系统(CTS)”。面向CLR的所有编程语言都必须使用这个系统。“公共语言... 阅读全文
posted @ 2008-08-23 11:24 不染丹心 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 简化的部署: 对于当今的Windows应用程序来说,他们的安装和部署实际并不方便。我们必须创建相应的文件、注册表设置和快捷方式。除此之外,完全卸载一个应用程序几乎是不可能的任务。Microsoft在Windows2000中引入了一个新的安装引擎,它有助于解决这些问题。但是,一个公司在生成Microsoft Installer包时,仍然无法避免犯错。.NET Framework组件不再通过注册表来引... 阅读全文
posted @ 2008-08-23 10:57 不染丹心 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 所有windows开发人员都熟悉“Dll hell”这个版本控制问题。为一个新应用程序安装的组件覆盖了旧应用程序的组件,就可能发生Dll hell。它会造成旧的应用程序行为失常,或者完全“罢工”。现在,.NET FrameWork架构将引用程序组件完全隔离开,是应用程序总是加载当初生成和侧视时使用的那些组件。如果一个应用程序在安装好以后能够运行,那么以后总是可以运行的,不会发生其组件被其他应用程序... 阅读全文
posted @ 2008-08-22 14:18 不染丹心 阅读(331) 评论(1) 推荐(0) 编辑
摘要: CLR(公共语言运行库)旨在显著简化Win32和COM需要的管道连接(plumbing)工作以及一些晦涩难解的结构。特别指出的是,CLR现在能避免开发人员去理解以下一些概念:注册表、全局唯一标识符、IUnknown、AddRef、Release、Hresult等。CLR并非只是将这些概念从开发人员哪里抽象出来,相反,所有这些概念在CLR中将不以任何形势而存在。当然,加入我们的.NET Framew... 阅读全文
posted @ 2008-08-22 14:01 不染丹心 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 以前常见的一种情况是,部分操作系统功能通过动态链接库(DLL)函数来访问,另一部分功能则通过COM对象来访问。 现在,所有应用程序服务都通过一个通用的,面向对象的编程模型来提供。 阅读全文
posted @ 2008-08-22 09:04 不染丹心 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 模型,就是日常中说的模型。建房子 要有房模,编程也就象建房子,不同的房子有不同的模型,至于具体什么模型,那很多,你也不必去 搞的太深。你如果做java开发,mVC模型 一定要知道。m:model,v:view,c:control; 编程模型,简单地可以理解它就是模板,遇到相似问题我们就可以方便依模板解决,这样就简化了编程问题. 概念数据模型呢就是数据库管理的教学形式的一种框架,是用来描述一... 阅读全文
posted @ 2008-08-22 09:01 不染丹心 阅读(902) 评论(0) 推荐(0) 编辑
摘要: 如果一种语言不创建包含机器代码的二进制文件,则就认为它是解释性语言。解释性语言一般情况下有两个组件:程序和解释器。 例如:python语言 阅读全文
posted @ 2008-07-28 19:37 不染丹心 阅读(512) 评论(0) 推荐(0) 编辑
摘要: 互斥锁有一些缺点:例如,如果忘记对互斥锁解除锁定,会怎么样呢?如果是这样,则试图锁定已经被锁定的互斥锁的任何进程只能永无止境地等到。这些线程就成为僵死(zombie thread),这是一个技术术语,指虽然存在但不能干任何事情的线程。显而易见,我们并不希望这种事情发生。 互斥锁还有另外一个问题,看看在下面的情况下会怎么样? 如果两线程依赖于同一个对象(比方说游戏玩家的状态这一对象,每帧都要访问此... 阅读全文
posted @ 2008-07-18 21:59 不染丹心 阅读(725) 评论(0) 推荐(0) 编辑
摘要: 每当CPU从一个线程切换到另外一个线程的时候,大家公认为这种动作是:“上下文切换”! 阅读全文
posted @ 2008-07-18 16:43 不染丹心 阅读(680) 评论(0) 推荐(0) 编辑
摘要: 代码如下: 注册会员 //刷新重新加载html代码时,执行JavaScript函数 会员注册 **以下是必须填写的内容: ... 阅读全文
posted @ 2008-07-09 21:07 不染丹心 阅读(1321) 评论(2) 推荐(0) 编辑
摘要: 代码如下: 用户注册 会员注册 会... 阅读全文
posted @ 2008-07-09 17:39 不染丹心 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 一:head.ascx ASP.NET 2.0 电子商务购物平台 首页 热销商品 订单管理 ... 阅读全文
posted @ 2008-07-09 17:17 不染丹心 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 一:Web.config配置页面 二:OleBase.cs 类 using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; ... 阅读全文
posted @ 2008-07-09 17:01 不染丹心 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 开始要在.cs的后台代码中用到页面中的控件,可以根据就没有智能感应这个控件,怎么办?在.aspx页面的标签以及标签里面加上runat="server"就解决了!呵呵 阅读全文
posted @ 2008-07-09 12:02 不染丹心 阅读(327) 评论(2) 推荐(0) 编辑