zoukankan      html  css  js  c++  java
  • C# 代码为什么比 C++代码 编译速度快?

    背景:我们的项目是一个三维gis的CS系统,底层用c++ 封装com控件供上层c#调用,C++ 项目有20+个,C#项目也有20+个;vs2010 单独rebuild C++项目需要半个小时左右(用分布式编译需要5分钟左右,现在基本都采用分布式编译),而c#项目不到一分钟。今天有个同事问我为什么C++ 和 C#编译速度差别这么大?

              注:推荐一款分布式编译软件 Incredibuild,安装的人越多,编译越快。 

    我的解释如下,有不对的地方欢迎补充指正:

    1、C#是把代码先编译为IL语言,而在运行时有CLR转换为平台专用代码;而C++是直接编译为内部机器可执行代码。

    2、IL语言是即时编译的(JIT编译),它不是把整个应用程序一次编译完,而是只编译它调用的部分代码。

        代码编译过一次后,得到的内部可执行代码就存储起来,直到程序退出该应用程序。

    3、传统的编译器会进行代码优化,但这个优化是独立于代码所运行的特定处理器的。

         JIT编译也可以完成优化工作,而且还可以优化代码所运行的特定处理器。

  • 相关阅读:
    【转】解决IIS 用localhost需要用户名密码!
    Android monkey 资料
    monkey命令参数
    打开chrome 应用商店
    delphi PDF控件介绍
    delphi PDFium 编辑操作
    delphi PDFium介绍
    delphi使用RichView控件 表格撤消
    delphi使用RichView控件 表格编辑操作
    delphi PDFium 常用功能
  • 原文地址:https://www.cnblogs.com/mumuyu/p/3388140.html
Copyright © 2011-2022 走看看