`

托管代码与非托管代码

阅读更多

1.托管代码所申请的资源统一由.Net Framework管理,你不用操心,非托管代码所申请的内存等资源则需要你手动去释放 
2.非托管程序运行会很快,是二进制的,托管程序好写,但是速度就差的很多,资源会用的很多
3.“程序"一般都是在对操作系统进行直接或者间接的操作 
"托管程序"是需要通过访问公共语言运行时(cls)才能访问操作系统的程序,而“非托管程序”不用通过访问公共语言运行时(cls)可以直接访问操作系统的程序 

 

 

简单点说,只要用到 .net 类库的基本上都是托管代码 ,非托管代码是指win32代码

即是说,托管代码就是需要在.net环境编译成中间语言由CLR通过CPU来执行代码 
而非托管代码在.net下也可以编写,直接由CPU来执行不需要通过CLR

分享到:
评论

相关推荐

    超详细解析托管代码与非托管代码以及dll调用.zip_托管代码_非托管

    托管代码与非托管代码是编程领域中的两个重要概念,它们主要与.NET框架和C++等语言的使用密切相关。本文将深入探讨这两个概念,以及DLL动态链接库调用的相关知识。 首先,我们来理解什么是托管代码。在.NET环境中,...

    CLR 完全介绍--托管代码与非托管代码之间的封送处理

    CLR 完全介绍--托管代码与非托管代码之间的封送处理 CLR(Common Language Runtime)是 .NET Framework 的核心组件之一,负责管理托管代码的执行和内存管理。在 .NET 应用程序中,CLR扮演着非常重要的角色,因为它...

    asp.net托管代码非托管代码

    这时,可以使用.NET Framework的P/Invoke(Platform Invoke)服务或.NET Core的DllImport特性来实现托管代码与非托管代码的交互。 在实际应用中,托管代码和非托管代码的结合使用可以充分利用两者的优势。例如,...

    非托管代码回调方法的实现

    非托管代码回调方法的实现是将托管代码与非托管代码(如C++或原生DLL)集成的关键技术。在.NET框架中,托管代码是由CLR(Common Language Runtime)管理的,而非托管代码则不受其控制。当需要从非托管代码调用托管...

    李维《Dephi.NET托管与非托管代码》

    书中的重点之一是阐述托管代码与非托管代码之间的交互,这是.NET开发中的常见需求。例如,开发者可能需要调用已有的C++库,或者利用硬件加速功能,这时就需要用到P/Invoke(Platform Invoke)和COM Interop技术。P/...

    托管代码机制(很使用)

    #### 三、托管代码与非托管代码对比 - **托管代码**:运行在CLR中,享有CLR提供的所有服务。例如,内存管理、异常处理、安全检查等。这些服务使得托管代码更加安全、稳定。 - **非托管代码**:指那些不在.NET环境...

    C#托管代码与C++非托管代码互相调用实例.docx

    C#托管代码与C++非托管代码互相调用实例 在软件开发中,C#托管代码和C++非托管代码是一种常见的开发模式。这两种语言的结合可以充分发挥它们各自的优势,C#托管代码可以提供高级的开发体验和强大的安全机制,而C++...

    托管平台与非托管的互操作

    1. **托管代码与非托管代码的定义**: - **托管代码**:由.NET框架管理的代码,如C#或VB.NET,它享有垃圾回收、类型安全和异常处理等特性。 - **非托管代码**:通常指C++或其它不依赖.NET框架的语言编写的代码,它...

    纯C# 托管与非托管DLL注入 FastWin32源码

    P/Invoke允许托管代码与非托管代码交互,调用Windows API函数,例如用于进程和线程操作的函数,这些都是DLL注入的基础。 在C#中实现DLL注入通常包括以下几个步骤: 1. 创建DLL:首先,你需要编写一个DLL,其中包含...

    非托管代码访问托管代码

    在.NET框架中,代码主要分为两种类型:托管代码(Managed Code)与非托管代码(Unmanaged Code)。托管代码是指通过.NET运行时(如Common Language Runtime, CLR)进行管理的代码,这类代码可以获得内存管理、类型...

    C#与非托管代码交互操作

    "C#与非托管代码交互操作"这个主题就是探讨如何在C#应用中调用和管理非托管代码资源。 1. **P/Invoke(Platform Invoke)** P/Invoke是.NET Framework提供的一种机制,允许C#代码调用Windows API或其他非托管DLL中...

    Extern调用非托管代码

    P/Invoke是.NET提供的一种机制,它使得托管代码能够与非托管代码交互。通过P/Invoke,C#可以调用本机代码的函数,这些函数通常存在于DLL文件中。在P/Invoke中,我们需要为每个要调用的非托管函数创建一个对应的托管...

    vc++2005非托管互操作9

    1. **托管代码与非托管代码的区别**:托管代码是运行在.NET Framework之上的,由CLR(Common Language Runtime)管理,享有自动内存管理、异常处理和类型安全等特性。而非托管代码,通常指C++、C等原始编程语言编写...

    托管 vs 非托管

    托管与非托管代码是编程领域中的两个重要概念,主要涉及.NET框架和C++等语言的使用。这篇文章将深入探讨这两者的差异,以及它们在实际开发中的应用。 托管代码(Managed Code)是指能够在.NET Framework的公共语言...

    Visual C++.NET托管扩展编程PDF,理念与范例相结合,全面介绍C++托管扩展.

    本书首先介绍了.NET Framework的基础知识,包括CLR(Common Language Runtime)的工作原理、托管代码与非托管代码的区别以及托管类库的概念。接着,深入讲解了C++托管扩展的关键特性,如托管指针、安全性、异常处理...

    精通.Net互操作配套源码光盘、工具

    《精通.NET互操作P/Invoke,C++Interop和COM Interop... (展开全部) 《精通.NET互操作P/Invoke,C++Interop和COM Interop》介绍Windows平台上的托管代码与非托管代码之间进行互操作的各种技术,包括由.NET提供的各种互...

    C#调用C++ DLL 托管

    在.NET框架中,C#能够通过托管代码与非托管代码(如C++编译的DLL)进行交互。这种技术使得开发者可以利用C++库的强大功能,同时享受C#的高级特性和开发效率。本篇文章将深入探讨如何在C#中使用托管方式调用C++ DLL,...

    从非托管进程执行PowerShell_C_C#_下载.zip

    2. **P/Invoke**:P/Invoke(Platform Invoke)是.NET框架提供的一个特性,允许托管代码调用非托管DLL中的函数,从而实现托管代码与非托管代码之间的互操作。 3. **Windows API**:这是Windows操作系统提供的函数...

    C#调用非托管代码时参考(整理)

    这里使用了 `MarshalAs` 属性来指定字符串的长度,以确保与非托管代码中的数组长度相匹配。 #### 6. 注意问题 - **类型不一致:** 类型的一致性非常重要,例如 `long` 类型在C++中通常是4字节的整数,在C#中则是8...

Global site tag (gtag.js) - Google Analytics