2 supergain supergain 于 2016.01.17 23:32 提问

WPF包含非托管的服务,托管的子系统如何理解

今天看WPF高级编程,在里面看到这样一句话"WPF体系结构包括非托管的服务,托管的子系统,以及一套WPF应用程序所需要的托管API,称为呈现架构(presentation framework)",想请教一下怎么理解图片

1个回答

caozhy
caozhy   Ds   Rxr 2016.01.17 23:50

托管就是指.net框架库之上的用C#写的代码。
非托管的就是操作系统的调用,C++写的代码。非托管的代码存在内存分配和释放的问题。

caozhy
caozhy 回复supergain: 故弄玄虚的东西而已。
2 年多之前 回复
supergain
supergain 嗯,关于托管和非托管的区别我查百度了解了,但是针对这句话该怎么理解呢,包括其中服务,子系统还有体系架构这些东西的理解,麻烦您啦
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
C#托管代码调用C++非托管代码
1、C#调用非托管代码的方式: 2、DllImport方法调用1)导入规则: i.方法名与Win API完全一样,设置EntryPoint属性,可以在c#中显示不同的方法名称; ii.函数除了需要DllImport类修饰符外,还需要声明public static extern类型; iii.函数返回值和参数必须和调用的API的完全一样; iv.必须引入System,Runtime.In
什么是托管应用程序和非托管应用程序
托管很好理解!抽象一点讲就是一些功能你不要自己去实现,而是由clr去实现,由它(clr)去管理.比如指针空间:在vc中你用new 生成,而必须用delete去删除。但在c#中你不要管对象回收,也就是你用new生成对象,但你不必自己删除对象,删除相应不用的对象由clr去完成。 记得你小时候上幼子院,这就是托管(获得幼儿院的服务) 好处: 得到安全保障; 可以和别的小朋友
C#托管和非托管的资源(四)——处理非托管资源
垃圾回收器的出现意味着,通常不需要担心不再需要的对象,只要让这些对象的所有引用都超出作用域,并允许垃圾回收器在需要时释放内存即可。但是,垃圾回收器不知道如何释放非托管的资源(例如,文件句柄、网络连接和数据库连接)。托管类在封装对非托管资源的直接或间接引用时,需要制定专门的规则,确保非托管的资源在回收类的一个实例时释放。         在定义一个类时,可以使用两种机制来自动释放非托管的资源。这些
C#调用非托管代码(转)
C#调用非托管代码(转) 在.net 编程环境中,系统的资源分为托管资源和非托管资源。   对于托管的资源的回收工作,是不需要人工干预回收的,而且你也无法干预他们的回收,所能够做的 只是了解.net CLR如何做这些操作。也就是说对于您的应用程序创建的大多数对象,可以依靠 .NET Framework 的垃圾回收器隐式地执行所有必要的内存管理任务。托管代码就是基于.net元数据格式的代
关于C#托管代码与非托管代码的理解
C#托管代码是什么? 托管代码(Managed Code)实际上就是中间语言(IL)代码。代码编写完毕后进行编译,此时编译器把代码编译成中间语言(IL),而不是能直接在你的电脑上运行的机器码。程序集(Assembly)的文件负责封装中间语言,程序集中包含了描述所创建的方法、类以及属性的所有元数据。 托管代码在公共语言运行库(CLR)中运行。这个运行库给运行代码提供了多种服务,通常来说,
关于C++托管和非托管
所谓托管是指内存管理由系统而不是由程序员管理。 像C#这样的语言的内存管理(内存的分配和释放)都是由系统管理的。所以只有new而没有delete。 C++有个很重要的特点就是内存由程序员管理。所以分配内存以后,要程序员自己释放。如果没有释放就会有内存泄露,如果在不该释放时释放了,就会出现所谓的野指针。 在C++把内存管理交给系统的,由系统来负责释放,就被称为托管。 托管C++是微软所创造一
利用C# Marshal类实现托管和非托管的相互转换
Marshal 类 命名空间:System.Runtime.InteropServices 提供了一个方法集,这些方法用于分配非托管内存、复制非托管内存块、将托管类型转换为非托管类型,此外还提供了在与非托管代码交互时使用的其他杂项方法。 Marshal 类中定义的 static 方法对于处理非托管代码至关重要。此类中定义的大多数方法通常由需要在托管和非托管编程模型之间提供桥梁的开发人员使用。例
超详细解析托管与非托管
1      DLLImport的使用using System;using System.Runtime.InteropServices; //命名空间class Example{//用DllImport 导入Win32的MessageBox函数    [DllImport("user32.dll", CharSet =CharSet.Unicode)]public static extern i...
理解托管磁盘的原理与优势
Azure 托管磁盘,是指将虚拟机使用的虚拟磁盘文件(VHD)和存储账号交由 Azure 来规划和控制的服务。 此功能的上线,意味着用户能更方便地管理 Azure 虚拟机的存储。Azure 托管磁盘将储存在标准或高级存储账户中的虚拟磁盘文件(VHD)抽象成 Azure 资源管理器中的顶级资源。用户只需给定磁盘类型(标准或高级)与磁盘大小,Azure 便会替用户创建并管理磁盘。
托管与非托管的混合编程
托管与非托管混合编程 最直接的实现托管与非托管编程的方法就是使用C++/CLI 源代码 介绍 项目存档一直是企业的采用的做法,而是事实证明他们也是对的!对于一个程序员,这是几千men-days的工作量。为什么不开发一小段代码去重新利用那段代码,项目。 现在提供了一个渐渐的转向C#的新技术: 使用托管与非托管的混合编程。这是一个可行的方案在top-down issue(from UI to