- 浏览: 92153 次
- 性别:
- 来自: 北京
文章分类
1,编译型语言,像c和c++都是,在源代码成为可执行文件的过程中,需要两个主要工具,
编译器和连接器。
2,编译器将源代码翻译成目标代码,也就是机器代码、二进制文件,此时的二级制文件是不可以执行的,
因为它只包含自身源代码的二进制文件,还需要启动代码和其他库文件,
3,启动代码是根据操作系统确定的,也就是程序的入口点,不同的操作系统运行程序的方式不同,启动代码
不相同,不同程序就不能跨操作系统喽,好了,连接器将启动代码嫁到目标代码中。
4,其他库文件,也就是源代码调用其他函数的二级制文件、目标文件,将他们也加到源代码生成的目标代码中,
好了,这样就ok了,这个目标代码就称为了可执行文件了,执行它就没问题了
编译器和连接器。
2,编译器将源代码翻译成目标代码,也就是机器代码、二进制文件,此时的二级制文件是不可以执行的,
因为它只包含自身源代码的二进制文件,还需要启动代码和其他库文件,
3,启动代码是根据操作系统确定的,也就是程序的入口点,不同的操作系统运行程序的方式不同,启动代码
不相同,不同程序就不能跨操作系统喽,好了,连接器将启动代码嫁到目标代码中。
4,其他库文件,也就是源代码调用其他函数的二级制文件、目标文件,将他们也加到源代码生成的目标代码中,
好了,这样就ok了,这个目标代码就称为了可执行文件了,执行它就没问题了
发表评论
-
Java对象引用类型
2013-05-09 09:55 960Java对象的引用类型分为强引用、软引用、弱引用和虚应用 强引 ... -
JVM调优大纲
2013-05-07 19:07 1771我觉得处理JVM调优问题需要以下五个步骤: ... -
diango创建数据异常no module named base
2013-05-05 22:02 1589本人使用django创建web项目使用的数据库是sqlite3 ... -
hibernate根据hbm自动生成数据库
2013-04-27 10:26 1058今天碰到一个很老的项目,只有hbm文件没有数据库,想根 ... -
这几年收集的java相关资料
2013-04-06 14:46 614以下是我搜集的java相关资料,有需要的可以联系我,QQ470 ... -
很诡异的一个hibernate问题
2012-12-27 09:39 297在一个service里写了如下一段代码: List<Gr ... -
Windows编程之钩子程序
2012-10-15 09:20 21091,钩子(Hook),是Windows消息处理机制的一个平台, ... -
(转)编程竞赛的几个在线提交系统
2012-10-12 14:28 1050下面是几个比较大的在线提交系统(Online Judge)里面 ... -
从编程的角度理解操作系统及其软件设计
2012-10-11 10:58 929我们都知道操作系统是装在计算机上的,所有的计算 ... -
windows程序入口
2012-10-09 15:32 1659操作系统装载应用程序后,做完初始化工作就转到程序的入口点执行。 ... -
C语言各种编译器的清屏方法
2012-09-28 11:04 31161,vs/vc:vs本身并没有提供专用清屏的函数,但是清屏被作 ... -
C语言实现学生信息管理的增删改查
2012-09-28 10:42 5943刚开始,我用eclipse编写的,编译器使用的是gcc ... -
回车符和换行符的区别
2012-09-27 18:34 979回车符号和换行符号产生背景: 在计算机还没 ... -
C语言标准函数库IO处理分析
2012-09-26 16:25 932IO处理函数都在stdio.h头 ... -
C语言标准函数库动态内存分配和释放分析
2012-09-25 11:14 11001,动态内存分配需要程序员手动来释放获得的内存 2,内存分配和 ... -
C语言标准函数库产生随机数分析
2012-09-25 10:47 9091,是伪随机,不是真正的随机,伪随机的特点就是根据种子值+公式 ... -
C语言标准函数库分析
2012-09-24 16:06 9591,支持断言机制: 导入assert.h头文件 ... -
(转)C/C++ Linux 程序员必须了解的知识和工具
2012-09-23 20:48 991来源:http://community.itbbs.cn/th ... -
编程语言的在面向对象层次的分类
2012-09-14 17:27 7131,面向过程编程语言,例如C 2,基于对象编程语言,例如C++ ... -
C++语法中定义和声明的区别
2012-09-14 16:57 11281,声明是告诉编译器这段内存空间的名称,定义是为这个名称分配固 ...
相关推荐
### 汇编语言心得知识点总结 #### 一、汇编语言所需工具及程序 - **所需工具**:汇编语言的学习与实践需要特定的工具支持。最基本的工具包括: - **MASM.EXE**:这是一个汇编程序,用于将汇编语言编写的源代码...
在计算机科学领域,理解和掌握编程语言是至关重要的,因为它们是我们与计算机沟通的工具。本实验旨在通过实践帮助学生深入理解程序设计语言的发展历史,不同语言的特点,以及它们如何被编译或解释执行。实验主要关注...
通过编译原理学习心得,可以让大家更好地理解操作系统、编译原理和计算机原理的知识,提高自己的编程思想和实践能力。 在学习编译原理的过程中,需要掌握一些基本概念和技术,例如: * 编译程序的基本过程和各阶段...
C语言是一门基础且强大的编程语言,它以其高效、简洁的特性被广泛应用于系统开发、嵌入式系统、游戏引擎等多个领域。实习过程是理论知识与实践技能相结合的重要环节,通过C语言编程实习,我们可以深化对这门语言的...
计算机程序编译原理是计算机科学领域的一门核心课程,它主要研究如何将高级编程语言转换为机器可执行的低级代码。《编译原理》的学习不仅涵盖了语言翻译的基础理论,还包括了实际操作系统的多线程、多进程管理、文件...
在编译原理课程设计中,我不仅深化了对编译程序工作原理的理解,还体会到了理论知识在实际操作中的应用。 首先,我明白了编译程序的基本结构和工作流程。一个完整的编译器通常包括词法分析、语法分析、语义分析和...
通过这次课程设计,学生们不仅能够巩固编译原理的理论知识,还能学习到如何将这些理论应用于实际的编程环境,提高他们在软件开发中的问题解决能力。总结感悟部分,学生应该会分享在实验过程中遇到的挑战、解决问题的...
在计算机科学领域,编译原理是一门关键的课程,它涉及到将高级编程语言转换为机器可理解的低级语言的过程。广东工业大学的编译原理实验是学习这一理论的重要实践环节,旨在让学生深入理解编译器的工作机制,并通过...
编译原理是计算机科学中的一个重要领域,它研究如何将高级编程语言转化为机器可理解的指令。这个"编译原理实验精粹大集合"显然是一份包含丰富资源的压缩包,旨在帮助学生或开发者深入理解和应用编译原理。下面将详细...
PL-0语言编译器介绍及源程序.docx 文件可能包含对PL-0编程语言的简介,这是一种简化版的编程语言,常用于教学目的,以帮助初学者理解编译器的工作流程。源程序部分可能是PL-0编译器的实现,学生可以通过阅读和修改...
在计算机科学领域,编译原理是研究编程语言处理过程的一门重要学科。本实验报告主要围绕词法分析、语法分析和语义分析三大核心概念展开,旨在通过实践加深对编译原理的理解。 一、词法分析 词法分析是编译器的第一...
三、Symbian编程语言和API Symbian主要使用C++进行开发,但并非标准C++,而是Symbian特有的EPOC C++。它包括一系列特定的类库,如UIQ、Series60 SDK等,用于访问设备硬件、处理用户界面、网络通信等。理解和熟练运用...
Go语言,也被称为Golang,是由Google开发的一种静态类型的、编译式的、并发型且具有垃圾回收功能的编程语言。自2009年发布以来,Go语言因其简洁的语法、高效的性能以及对并发编程的良好支持,受到了广大开发者的欢迎...
理解编译原理有助于我们更好地理解程序的运行机制,优化代码,并能进行语言设计与实现。针对这门课程的学习挑战,一款名为“编译原理教学辅助系统”的工具应运而生,它为学生和教师提供了一个直观、实用的学习平台。...
编译原理是一门涉及计算机科学的深奥领域,其核心任务之一是将高级编程语言转化为机器可执行的指令。在这个过程中,中间代码生成是一个至关重要的步骤。本报告主要关注如何在实验二的基础上,为赋值语句、if语句和...
在IT领域,编译原理是计算机科学中的一个核心部分,它涉及到如何将高级编程语言转换为机器可理解的指令。本报告聚焦于三个关键的编译器构造过程:词法扫描,中间表达式的生成,以及LR(0)语法分析的实现。以下是这些...
1. 实验目标:明确实验目的,如理解编译原理的基本概念,掌握词法分析和语法分析的方法。 2. 实验环境:列出使用的开发工具、操作系统、编程语言等。 3. 实验步骤:详细描述实现词法分析器和语法分析器的过程,包括...