编译器把源码编译成通用中间语言

简单讲,编译器 就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程: 源代码  (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码  (object code) → 链接器 (Linker) → 可执行程序(executables)

对于C#、VB等高级语言而言,此时编译器完成的功能是把源码(SourceCode)编译成通用中间语言(MSIL/CIL)的字节码(ByteCode)。最后运行的时候通过通用语言运行库的转换,编程最终可以被CPU直接计算的机器码(NativeCode)。

 1 package Com.Table;
 2 import java.util.Scanner;
 3
 4 public class FiveTable {
 5
 6     public static void main(String [] args)
 7     {
 8         System.out.println("input score:");
 9         Scanner scanner = new Scanner(System.in);
10         int score = scanner.nextInt();
11         int Count = 0;
12         if (score < 60)
13         {
14             int temp = score;
15             while (temp < 60)
16             {
17                 temp++;
18                 Count++;
19             }
20             System.out.println("before:" + score);
21             System.out.println("result:" + temp);
22             System.out.println("add" + Count + "test");
23         }
24         else
25         {
26             System.out.println("end!");
27         }
28     }
29 }

原文地址:https://www.cnblogs.com/borter/p/9383906.html

时间: 2024-10-03 07:11:21

编译器把源码编译成通用中间语言的相关文章

Python工具 | 6个将 Python 源码编译成软件的构建工具

1??buildout 一个用Python编写和扩展的自动化工具,从多个组件来创建,组装和部署应用. ?官网 2??BitBake: 针对嵌入式 Linux 的类似 make 的构建工具. ?官网 3??fabricate: 对任何语言自动找到依赖关系的构建工具. ?官网 4??PlatformIO 多平台命令行构建工具. ?官网 5??PyBuilder 纯 Python 实现的持续化构建工具. ?官网 6??SCons SCons 具有类似于 autoconf,automake和ccache

学习OpenCV的学习笔记系列(二)源码编译及自带样例工程

下载及安装CMake3.0.1 要自己编译OpenCV2.4.9的源码,首先,必须下载编译工具,使用的比较多的编译工具是CMake. 下面摘录一段关于CMake的介绍: CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程).他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C 特性,类似UNIX下的automake.只是 CMake 的组态档取名为 CmakeLists.txt.Cmake 并不直接建构出最终的软件,而是产生标准

Android源码编译之Nexus5真机编译

1.   前言 在Android安全的研究工作中,我们时常要对Android进行改进并对其进行源码编译,由于目前几乎所有的手机厂商均对其底层驱动实行封闭政策,导致我们在完成Android编译后无法将我们编译好的系统刷到普通的Android手机上,因此在一般的科学实验中我们更多的是将修改好的android源码编译成模拟器,以模拟器的形式证明实验的成功与否. 事实上,Android作为一款开放源代码的移动设备操作系统,Google最初就考虑到了真机编译的问题,而关于这个问题的解决方案体现在每次Goo

linux程序包管理之源码编译安装

一.linux程序包基础概念 1.1.linux程序开发遵循开源协定:GPL, BSE, Apache等 1.2.源程序常用的开发语言:C, C++, perl, python等 1.3.应用程序的开发.编译和运行 就像面包师直接使用的材料是面粉而非麦种一样,我们大部分应用程序员在开发程序时也并非直接接触硬件层,因为底层硬件太过抽象和"丑陋",如果应用程序开发都从底层开始,无疑工作量巨大.于是,有些系统级程序员在"裸机"上抹上了一层操作系统,用于管理硬件资源,这个系

源码编译绕过反调试

参考师弟的贴子修改的, 基本我一次就弄好了, 没有遇到啥问题, 下面我主要是补充下他的帖子 http://bbs.pediy.com/showthread.php?t=213481 一. 环境搭建 (1). 环境介绍: 手机:nexus 5 ubuntu版本:15.10 android版本:4.4.4 android源码官网(这里有很多相关的资料,基本上按照官网的来就可以编译想编译的任何版本了) http://source.android.com/source/ (2). 环境配置 配置环境得好

【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)

作者 : 韩曙亮  博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293 转载请注明出处 : http://blog.csdn.net/shulianghan VLC 二次开发 视频教程 : http://edu.csdn.net/course/detail/355 博客总结 : -- 本博客目的 : 让 Android 开发者通过看本博客能够掌握独立移植 VLC Media Player 核心框架到自己的 app 中,

Linux程序包管理之yum仓库、源码编译安装

CentOS:yum,dnf URL:ftp://172.16.0.1/pub yum是C/S架构,是rpm的前端工具,依赖于rpm存在的: 1.本地要有yun程序: 2.本地要有配置文件(配置远程服务器yum仓库或本地服务器yum仓库): 3.要有存在的文件服务器(程序包仓库即yum仓库).(也可以在本地配置服务器yum仓库): yum支持的服务器有两种:一种是ftp服务器,第二种是http服务器: yum工作简述: yum是客户端,也认为是自我独立管理的组件,需要联系远程的仓库,从仓库中下载

MySQL源码编译安装(CentOS-6.6+MySQL-5.6)

MySQL源码编译安装(CentOS-6.6+MySQL-5.6) 部署环境 操作系统:CentOS-6.6-x86_64-bin-DVD1.iso MySQL版本:mysql-5.6.26.tar.gz 操作用户:root 系统IP:192.168.1.205 主机名:edu-mysql-01 配置:4核.4G内存 一.服务器配置: 1.配置网络 # vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=stati

源码编译搭建LAMP架构

前述: 本次源码编译安装LAMP平台架构在一台CentOs 7虚拟机完成(穿插叙述叙述mariadb在另一台主机上配置方法),php5以模块形式编译安装到httpd服务器上,httpd服务器Apace多路处理模块(MPM)采用prefork机制. 下面为安装所用的的以下软件叙述: CentOS  7 IP:172.16.49.2:Kernel:3.10.0-229.el7.x86_64 MariaDB 通用二进制格式mariadb-5.5.46-linux-x86_64.tar httpd 编译