㈠ 伪代码是什么意思
伪代码是一种非正式的,类似于英语结构的,用来描述模块结构图的语言。它是半角式化、不标准的语言,可以将整个算法运行过程的结构用接近自然语言的形式(可以使用任何一种熟悉的文字,关键是把程序的意思表达出来)描述出来。
使用伪代码的目的是使被描述的算法可以容易地以任何一种编程语言(Pascal,C,Java等)实现。因此,伪代码必须结构清晰、代码简单、可读性好,并且类似自然语言。 介于自然语言与编程语言之间。以编程语言的书写形式指明算法职能。使用伪代码, 不用拘泥于具体实现。
简单示例:输入3个数,打印输出其中最大的数。可用如下的伪代码表示:
Begin(算法开始)
输入 A,B,C
IF A>B 则 A→Max
否则 B→Max
IF C>Max 则 C→Max
Print Max
End (算法结束)
(1)伪编译器是什么扩展阅读
伪代码应用领域
伪代码中常被用于技术文档和科学出版物中来表示算法,也被用于在软件开发的实际编码过程之前表达程序的逻辑。伪代码不是用户和分析师的工具,而是设计师和程序员的工具。计算机科学在教学中通常使用虚拟码,以使得所有的程序员都能理解。当考虑算法功能(而不是其语言实现)时,伪代码常常得到应用。
伪代码只是像流程图一样用在程序设计的初期,帮助写出程序流程。如果把全部的程序流程写下来必定可能会浪费很多时间,那么这个时候可以采用伪代码方式。
简单地说,伪代码是让人便于理解的代码,是不依赖于语言的,用来表示程序执行过程,而不一定能编译运行的代码。
㈡ 编译器是什么意思,是做什么的
编译器
编译器是一种特殊的程序,它可以把以特定编程语言写成的程序变为机器可以运行的机器码。我们把一个程序写好,这时我们利用的环境是文本编辑器。这时我程序把程序称为源程序。在此以后程序员可以运行相应的编译器,通过指定需要编译的文件的名称就可以把相应的源文件(通过一个复杂的过程)转化为机器码了。
下面我们看看它是如何工作的。首先编译器进行语法分析,也就是要把那些字符串分离出来。然后进行语义分析,就是把各个由语法分析分析出的语法单元的意义搞清楚。最后生成的是目标文件,我们也称为obj文件。再经过链接器的链接就可以生成最后的可执行代码了。有些时候我们需要把多个文件产生的目标文件进行链接,产生最后的代码。我们把一过程称为交叉链接。
有一个称为LCC的编译器,还挺不错的;还有一个用于分析其规则的小工具;
㈢ 编译器是什么
简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)
高级计算机语言便于人编写,阅读交流,维护。机器语言是计算机能直接解读、运行的。编译器将汇编或高级计算机语言源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。源代码一般为高级语言 (High-level language), 如Pascal、C、C++、Java、汉语编程等或汇编语言,而目标则是机器语言的目标代码(Object code),有时也称作机器代码(Machine code)。
对于C#、VB等高级语言而言,此时编译器完成的功能是把源码(SourceCode)编译成通用中间语言(MSIL/CIL)的字节码(ByteCode)。最后运行的时候通过通用语言运行库的转换,编程最终可以被CPU直接计算的机器码(NativeCode)。
编译是从源代码(通常为高级语言)到能直接被计算机或虚拟机执行的目标代码(通常为低级语言或机器语言)的翻译过程。然而,也存在从低级语言到高级语言的编译器,这类编译器中用来从由高级语言生成的低级语言代码重新生成高级语言代码的又被叫做反编译器。也有从一种高级语言生成另一种高级语言的编译器,或者生成一种需要进一步处理的的中间代码的编译器(又叫级联)。
典型的编译器输出是由包含入口点的名字和地址, 以及外部调用(到不在这个目标文件中的函数调用)的机器代码所组成的目标文件。一组目标文件,不必是同一编译器产生,但使用的编译器必需采用同样的输出格式,可以链接在一起并生成可以由用户直接执行的EXE,
所以我们电脑上的文件都是经过编译后的文件。
㈣ 编译器是什么意思
gcc(gnu compiler collection,gnu编译器集合),是一套由 gnu 开发的编程语言编译器。以及大部分unix系统的程序库和工具。
gnu是“gnu's not unix”的递归缩写。
㈤ 伪指令的作用是什么 伪指令是否在程序运行时执行
伪指令是用于代码编译的,硬件并不认识汇编语言,它们只认机器语言(机器语言是纯数字的,人看起来,太不直观了),这就产生了,程序的运行涉及由高级语言汇编成汇编语言,再由汇编语言编译成机器语言,最后由硬件执行机器语言。编译过程中,伪指令起作用,但伪指令不产生目标代码,只是帮助编译器准确的把其他指令编译出来罢了。举例子来说,汇编语言里的跳转,程序员可以自己定义一个名字来代表跳转的位置,这个名字就是一条伪指令,它指示了跳转的位置,这样编译成机器语言的时候,编译器就可以根据这个伪指令知道程序怎样跳转的,然后在机器语言中使用数字来标示跳转关系(这些数字跟寄存器位置相关,不再是那些与寄存器无关的自定义出来的名字了)。所以,伪指令在代码编译过程中起作用,在程序运行时伪指令已经不存在了,因为代码是编译好后才执行的。
㈥ 编译器是什么意思
简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)
高级计算机语言便于人编写,阅读交流,维护。机器语言是计算机能直接解读、运行的。编译器将汇编或高级计算机语言源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。源代码一般为高级语言 (High-level language), 如Pascal、C、C++、Java、汉语编程等或汇编语言,而目标则是机器语言的目标代码(Object code),有时也称作机器代码(Machine code)。
对于C#、VB等高级语言而言,此时编译器完成的功能是把源码(SourceCode)编译成通用中间语言(MSIL/CIL)的字节码(ByteCode)。最后运行的时候通过通用语言运行库的转换,编程最终可以被CPU直接计算的机器码(NativeCode)。
㈦ 编译器是什么
一个现代编译器的主要工作流程如下:源代码(sourcecode)→预处理器(preprocessor)→编译器(compiler)→汇编程序(assembler)→目标代码(objectcode)→连接器(Linker)→可执行程序(executables)编译语言与解释语言对比:许多人将高级程序语言分为两类:编译型语言和解释型语言。然而,实际上,这些语言中的大多数既可用编译型实现也可用解释型实现,分类实际上反映的是那种语言常见的实现方式。(但是,某些解释型语言,很难用编译型实现。比如那些允许在线代码更改的解释型语言。)编译器是一种特殊的程序,它可以把以特定编程语言写成的程序变为机器可以运行的机器码。把一个程序写好,这时利用的环境是文本编辑器。这时我程序把程序称为源程序。在此以后程序员可以运行相应的编译器,通过指定需要编译的文件的名称就可以把相应的源文件(通过一个复杂的过程)转化为机器码了。
㈧ 伪指令的原理
不要感到迷惑,伪指令是帮助编译程序编译而设置的指令,作用五花八门。
比如段描述符可以指定段起始边界值,段模块化组合属性。数据和变量定义也是用到的伪指令。
这分两个方面,一是我们的程序不只存在机器码,它必须有一些人为规定的文件格式信息,程序之中用到的数据和变量,这些CPU并不执行的东西,然而又是程序所必须的。
还有一个方面,就是编译器在编译的时候需要知道一些预处理命令。不要认为编译器是万能的,实际上写编译器极其复杂,国内也没有几个公司做外包编译器的。编译器经过几遍词法扫描,句法分析等等,中间还要经过临时用堆栈和表格存储,最终才将编译完成。为什么规定汇编立即数的第一个数不能为字母?因为这样可以让编译器省很多事情。
至于assume,也许只有阅读masm的帮助文档才能真正知道它在编译中起到的作用。一个段假如 assume es:XX
那么在这个段里 mov ax,[bx]实际上就会自动编译成mov ax,es:[bx]
如果你有兴趣,着名的《编码的奥秘》和《编译原理》两本书将使你茅塞顿开。
我以为难得休息够早了,没想到各位居然。。。
㈨ 关于汇编语言的伪指令
伪指令是在汇编程序转换成机器指令的时候就处理了的
就相当于那个C语言里面的宏一样,宏都在编译的时候就处理了的
㈩ 什么是编译器
简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 → 预处理器 → 编译器 → 目标代码 → 链接器→ 可执行程序。