zoukankan      html  css  js  c++  java
  • [原]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!!
  • 相关阅读:
    使用scrapy-redis 搭建分布式爬虫环境
    爬虫必备工具-chrome 开发者工具
    Python 中多进程、多线程、协程
    Python 中命令行参数解析工具 docopt 安装和应用
    什么是中台?
    ubuntu 18.04 上安装 docker
    深入理解 ajax系列第一篇(XHR 对象)
    scrapy 中 shell 出现 403 Forbiidden 解决方案
    python 的参数总结
    Python 的直接赋值、Deepcopy、Copy的区别
  • 原文地址:https://www.cnblogs.com/ammar/p/1528454.html
Copyright © 2011-2022 走看看