浅谈从源代码文件到二进制可执行文件的过程
来源:互联网 发布:淘宝直播的运营怎么做 编辑:程序博客网 时间:2024/05/19 02:02
=== .c ===
预处理 -》.c (源文件)
编译 -》.s/asm (汇编程序)
汇编 -》.o/obj 目标程序(二进制文件)
链接 -》.exe可执行程序 (二进制文件)
(1) 为什么要生成汇编,而不是直接从源文件编译成机器指令(二进制代码)?
首先,汇编语言作为机器指令的助记符,调试以及优化起来都会比较方便;
其次,汇编到机器指令的过程是由硬件完成的,是一个自动过程,让硬件来完成效率较高;
最后,如果要将源文件直接转换成机器指令,那么编译器编写者就必须要非常数量机器码,这是一个比较困难且低效的过程。
(2) 详细解释从源文件经过编译成为汇编语言的过程?
词法分析(Token),语法分析(syntax tree),语义分析,优化, 代码生成。
=== .java ===
java编译器将源文件编译成.class文件(平台无关)
JVM的Class Loader负责将class文件加载到JVM中
利用Windows/Linux下的字节码解释程序,将class文件解释成机器指令(机器指令是CPU能直接识别并执行的指令,它的表现形式是二进制编码。机器指令通常由操作码和操作数两部分组成)。没有转换成汇编语言的过程
(1) 为什么引入class文件?
class文件径打破了C或者C++等语言所遵循的传统,使用这些传统语言写的程序通常首先被编译,然后被链接成单独的、专门支持特定硬件平台和操作系统的二进制文件。通常情况下,一个平台上的二进制可执行文件不能在其他平台上工作。而Java class文件是可以运行在任何支持java虚拟机的硬件平台和操作系统上的二进制文
http://blog.csdn.net/linuxheik/article/details/8607603
- 浅谈从源代码文件到二进制可执行文件的过程
- 浅谈从源代码文件到二进制可执行文件的过程
- 浅谈从源代码文件到二进制可执行文件的过程
- 源代码文件到二进制可执行文件的过程
- 从源代码到可执行文件的过程
- c语言从一个源代码文件到生成可执行文件的过程
- 从C源代码到可执行文件的总体过程框架
- 从C源代码到可执行文件的总体过程框架
- 从源代码到可执行文件
- 从源代码到可执行文件
- 源代码到可执行文件过程
- c源代码到可执行文件的过程
- c源代码到可执行文件的过程
- C/C++程序从cpp文件到最终生成可执行文件的过程分析
- 从java源代码到jar文件到exe可执行文件到setup安装文件
- 从JAVA源代码到EXE可执行文件
- 从JAVA源代码到EXE可执行文件
- .c文件到可执行文件过程
- laoshidaima(用户管理商品)
- 排座位 要安排:3个A国人,3个B国人,3个C国人坐成一排。 要求不能使连续的3个人是同一个国籍。 求所有不同方案的总数?
- 两指针(6)
- 乐观锁和悲观锁的区别(最全面的分析)
- 两指针(7)
- 浅谈从源代码文件到二进制可执行文件的过程
- 寻找最大公因数(欧几里得算法)--C语言描述
- javase 面试常见错误2
- Astah Community安装教程
- [ Java学习 ] 正则表达式与模式匹配
- Oracle 之 SEQUENCE 简单应用
- Jay Kreps: 为什么write有时候在Linux里面耗时很久
- Spring AOP
- Qt程序启动错误:during startup program exited with code 0xc0000139(135)