2008年8月1日
摘要: 以运行库为目标的代码称为托管代码 C++分成两种,一种是托管C++,另外一种是非托管C++ C#是以运行库为目标设计的,因此用C#编写的代码基本上为托管代码 不以运行库为目标的代码称为非托管代码 .NET提供了与非托管代码互操作的服务,比如与COM互操作的Interop服务 .NET平台在内存管理方面提供了GC(Garbage Collection),负责自动释放托管资源和内存回收的工作,但它无 法对非托管资源进行释放,这时我们必须自己提供方法来释放对象内分配的非托管资源,比如你在对象的实现代 码中使用了一个COM对象。 阅读全文
posted @ 2008-08-01 18:21 小顾问 阅读(500) 评论(1) 推荐(0) 编辑
摘要: 2. C#提供一个的关键字stackalloc用于申请堆栈内存。注意,这个申请内存分配的是栈内存,当函数执行完毕后,内存会被自动回收。不过我想用这个栈内存基本可以解决40%的问题,而且使用的时候不必担心内存泄漏问题。 3. .net 好像不直接支持堆内存的申请(这个对.net来说很危险),不过我们可以通过调用win32 api 的方法进行申请。这样就可以解决剩下40%的问题。堆内存申请的方法在MSDN里面有相关的文档。 4. 结构体是一个特殊的对象。他与类的定义就差一个关键字,使用方法也和类一样,可以定义属性,可以定义方法。但是在进行指针操作的时候双方就有很大的差别了。结构体可以通过sizeof()取得大小,大小与结构体里有多少实体变量有关,但是如果struck里定义了类的对象,或者指针,sizeof可能会编译不过(void* 的空指针例外,不过需要在结构体声明处加上unsafe)。 5. fixed关键字:fixed()会告诉垃圾收集器,类实例的某些成员有指向他们的指针,所以这些实例不能移动目前了解的不多,不过有一个很实用的例子可以让指针能够和.net里的数组进行交互操作: 阅读全文
posted @ 2008-08-01 16:40 小顾问 阅读(23637) 评论(3) 推荐(0) 编辑
摘要: 程序集链接器 (Al.exe) ASP.NET 编译工具 (Aspnet_compiler.exe) ASP.NET 浏览器注册工具 (Aspnet_regbrowsers.exe) ASP.NET IIS 注册工具 (Aspnet_regiis.exe) ASP.NET SQL Server 注册工具 (Aspnet_regsql.exe) Windows 窗体 ActiveX 控件导入程序 (... 阅读全文
posted @ 2008-08-01 11:14 小顾问 阅读(1677) 评论(0) 推荐(0) 编辑