1、源代码(source code)

源代码就是平时我们开发的代码;比如C、Java、Python、Shell...等

public class HelloWorld {
public static void main(String []args) {
System.out.println("Hello World");
}
}

2、汇编代码(Assembly code)

汇编语言也是人看的懂的语言,也是源码

#hello.s
.data # 数据段声明
msg : .string "Hello, world!\\n" # 要输出的字符串
len = . - msg # 字串长度
.text # 代码段声明
.global _start # 指定入口函数 _start: # 在屏幕上显示一个字符串
movl $len, %edx # 参数三:字符串长度
movl $msg, %ecx # 参数二:要显示的字符串
movl $1, %ebx # 参数一:文件描述符(stdout)
movl $4, %eax # 系统调用号(sys_write)
int $0x80 # 调用内核功能 # 退出程序
movl $0,%ebx # 参数一:退出代码
movl $1,%eax # 系统调用号(sys_exit)
int $0x80 # 调用内核功能

3、目标代码(object code)

目标代码是由编译器或其他转换器生成的代码,包括机器码、字节码等

4、字节码(Bytecode)

字节码是由编译器生成的中间语言,生成中间语言后由运行时环境解释或即时编译。它通常不是人类可读的语言,也不代表在任何现有CPU硬件上直接执行的实际机器语言。
 

5、可执行文件(Excuteable file)

链接过程的产物。它们是可以由CPU直接执行的机器码。

 

6、库文件(Library file)

可能很多地方要用到这个,生成库文件,方便多个地方使用。

 

源代码 VS 汇编代码 VS 目标代码 VS 字节码 VS 机器码的更多相关文章

  1. [inside hotspot] 汇编模板解释器(Template Interpreter)和字节码执行

    [inside hotspot] 汇编模板解释器(Template Interpreter)和字节码执行 1.模板解释器 hotspot解释器模块(hotspot\src\share\vm\inter ...

  2. 【计算机基础】IL代码-CLR平台上的字节码【什么是字节码?它与虚拟机的关系?】

    字节码(英语:Bytecode)将虚拟机可以读懂的代码称之为字节码.将源码编译成虚拟机读的懂的代码,需要虚拟机转译后才能成为机器代码的中间代码 叫做字节码. 字节码主要为了实现特定软件运行和软件环境. ...

  3. GCC输出带C源代码的汇编文件

    GCC输出带C源代码的汇编文件,一共有两种方式(同样也适合G++输出呆CPP源代码的汇编文件). 测试代码(hello.cpp) #include<iostream> usingnames ...

  4. 跟随Javac代码来解答字节码的疑惑

    前言 本文是跟随掘金小册张师傅的<JVM字节码从入门到精通>练习而写的. 问题 问题一: 有如下代码: 1 package com.sun.tools.javac; 2 3 /** 4 * ...

  5. Android NDK开发(五)--C代码回调Java代码【转】

    转载请注明出处:http://blog.csdn.net/allen315410/article/details/41862479 在上篇博客里了解了Java层是怎样传递数据到C层代码,并且熟悉了大部 ...

  6. C代码调用Java代码

    C代码调用Java代码应用场景 复用已经存在的java代码 c语言需要给java一些通知 c代码不方便实现的逻辑(界面) 反射 //1.加载类字节码 Class clazz = Demo.class. ...

  7. 1.预处理,生成预编译文件(.文件): Gcc –E hello.c –o hello.i 2.编译,生成汇编代码(.s文件): Gcc –S hello.i –o hello.s 3.汇编,生成目标文件(.o文件): Gcc –c hello.s –o hello.o 4.链接,生成可执行文件: linux笔记

    1 动态查看日志 tail -f filename tail -1000f filename 2 解压当前目录内容为xxx.zip  zip -r xxx.zip ./* 3 查看内存使用情况 fre ...

  8. 可执行代码(Executable Code)目标代码(object code)

    小结: 1.可执行代码(Executable Code)是指将目标代码(object code)连接后形成的代码,简单来说是机器能够直接执行的代码. https://baike.baidu.com/i ...

  9. C:编译过程、目标代码文件、 可执行文件和库

    C编程的基本策略是, 用程序把源代码文件转换为可执行文件(其中包含可直接运行的机器语言代码). 典型的C实现通过编译和链接两个步骤来完成这一过程. 编译器把源代码转换成中间代码, 链接器把中间代码和其 ...

随机推荐

  1. Redis必须会的知识点

    Nosql:非关系型数据库 分表分库 + 水平拆分 + mysql集群: 在Memcached的高速缓存,Mysql主从复制.读写分离的基础上,由于MyISAM使用表锁,高并发Mysql应用开始使用I ...

  2. 重磅来袭 Vue 3.0 One Piece 正式发布

    代号为One Piece 的Vue3.0 在9月19日凌晨正式发布!! 此次vue3.0 为用户提供了全新的 composition-api 以及更小的包大小,和更好的 TypeScript 支持. ...

  3. 本以为自己 MySQL 够牛逼了,直到亲自去阿里受虐了一次!

    前言 众所周知,简历上“了解=听过名字:熟悉=知道是啥:熟练=用过:精通=做过东西”. 相信大家对于MySQL的索引都不陌生,索引(Index)是帮助MySQL高效获取数据的数据结构.索引作为MySQ ...

  4. springboot之启动端口指定

    https://www.cnblogs.com/yaomajor/p/8616929.html

  5. redis.conf讲解

    转自https://www.cnblogs.com/zhang-ke/p/5981108.html #redis.conf # Redis configuration file example. # ...

  6. hystrix(8) 插件

    上一节讲到HystrixCommand的执行流程. Hystrix内部将一些模块实现成了插件,并且提供了用户提供自己的实现,通过配置来替换插件.Hystrix提供了5个插件,分别为并发相关插件(Hys ...

  7. hystrix(4) 异常降级

    当执行HystrixCommand时,如果发生命令执行异常.熔断器熔断.信号量超过数量,就会执行降级fallback方法,并返回结果.本质上,当出现以上情况是,执行fallback方法,而不是run方 ...

  8. python第一节课内容及练习

    一.input输入 sname = input("请输入你的姓名:")yu_yan = input("请输入你学习的语言:")print("{}, 欢 ...

  9. MySQL手注之盲注(布尔)

    布尔注入: 当我们在注入的过程中输入的语句在页面没有数据返回点,这就需要利用布尔型盲注一步步来猜取想要的数据.(盲注分为布尔盲注和时间盲注) 盲注常用函数: length()  返回字符串的长度, 可 ...

  10. 087 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 01 封装的概念和特点

    087 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 01 封装的概念和特点 本文知识点:封装的概念和特点 说明:因为时间紧张,本人写博客过程中只是对 ...