• [原]c++ vs c++cli (part0)


    items :
    CLR : commond language runtime 
    CIL : comman intermediat langauge
    MSIL: microsoft intermediat langauge
    JIT : just in time 
    VES :Virtual Execution System
     before we go on with c++ & c++\cli we just  take  simple breath here with native code,virtual machine and managed code 

    Managed code

    Native code

     the code that executes under the management of a virtual machine

     

     the code xecuted directly by the computer's CPU

     include programmer convenience and enhanced security guarantees

     Some complex with low level security guarantees

     

     


    The Virtual Machine
    C++/CLI applications execute in the context of the CLR. The CLR implements a virtual machine,
    which is a software implementation of an idealized, abstract execution environment. Programs
    that run on the CLR virtual machine use a language known as the Common Intermediate
    Language (CIL). Microsoft’s implementation of CIL is often referred to as MSIL, or just plain IL.
    The CLR relies on a JIT (just-in-time) compiler to translate the CIL code on demand into machine
    code in order to execute the program.
    The CLR virtual machine is Microsoft’s implementation of the Virtual Execution System
    (VES), which is part of the ECMA standard. As processors change, you need only change the
    way in which the executable code is generated from the processor-independent layer, and
    you’ll still be able to run the old programs written for the earlier processor. Pure IL generated
    by compilers targeting the CLR does not contain x86 instructions or any other object code that
    is configured to run on a particular processor. Compilers output MSIL code that can run on the
    virtual machine.

    Native

    Managed

    Pointer / Handle

    *

    ^

    Reference

    &

    %

    Allocate

    new

    gcnew

    Free

    Delete

    Delete(Optional)

    it will done auto by Garbage collector 

    Use Native Heap

    ü

    ü( Value types only)

    Use Managed Heap

    û

    ü

    Use Stack

    ü

    ü

    Verifiability

    * and & never

    ^ and % always


    c++ is native code , C++CLI is managed code 
    that what i want to tell You!!
  • 相关阅读:
    maven管理jar,pom.xml导入spring依赖
    三分钟明白 Activiti工作流 -- java运用
    Java框架之spring—jdbcTemplate
    Activiti BPMN 2.0 designer eclipse插件安装
    eclipse离线安装Activiti Designer插件
    eclipse oxygen离线安装activiti
    使用spring注解——定义bean和自动注入
    web.config中配置数据库连接的两种方式
    Java的三种代理模式
    03 Spring框架 bean的属性以及bean前处理和bean后处理
  • 原文地址:https://www.cnblogs.com/ammar/p/1528454.html
Copyright © 2020-2023  润新知