Linux术语-伪代码语言
作者: 未知 来源: 互联网 整理日期: 2005-12-22 访问:68
推荐到:图摘 ViVi 365key YouNote 博采 亿友 天极 和讯 我摘 POCO 狐摘 网摘中国
英文原义:P-code,Pseudo-code
中文释义:一种解释型语言
注解:伪代码语言有点象个“混血儿”,执行方式介于编译型语言和解释型语言之间。和解释型语言一样,伪代码编程语言无需编译,在执行时自动转换成二进制形式。然而,和编译型语言不同的是,这种可执行的二进制文件是以伪代码的形式而不是机器语言的形式存储的。此外,不同于解释型语言的是,不必在每次运行该程序的时候,都必须将其转换成二进制。在第一次转换成伪代码后,以后每次执行都可使用该伪代码版本。伪代码语言(以及用它编写的程序)往往比编译型语言及程序慢,但比解释型语言快,它们通常具有访问一些低层操作系统功能的权限,但却不能直接访问硬件。它们不需要有时
很昂贵的编译器,通常与操作系统包含在一起,有些伪代码语言比编译型语言更容易编程。伪代码语言的例子有Java、Python和REXX/Object REXX。
英文原义:Virtual Machine
中文释义:虚拟机
注解:虚拟机(VM)是中央处理器芯片的特征,它将内存的某个区域同系统的剩余部分隔离开来。
因为操作系统和应用程序运行于“保护模式”环境之下,所以如果某个程序在某个虚拟机中冻结了,那么它将不会影响运行于该虚拟机以外的程序和操作系统的运行。
UpdateData()
对于可以接收数据的控件,如编辑控件来说,UpdateData()函数至关重要。当控件内容发生变化时,对应的控件变量的值并没有跟着变化,同样,当控件变量值变化时,控件内容也不会跟着变。
UpdateData()函数就是解决这个问题的。
UpdateData(true);把控件内容装入控件变量
UpdateData(false);用控件变量的值更新控件
如:有编辑控件IDC_EDIT1,对应的变量为字符串m_Edit1,
1、修改变量值并显示在控件中:
m_Edit1 = _T("结果为50");
UpdateData(false);
2、读取控件的值到变量中:
用ClassWizard为IDC_EDIT1添加EN_CHANGE消息处理函数,
void CEditView::OnChangeEdit1()
{
UpdateData(true);
}
UpdateData(TRUE)控健变化通知程序更新内容
UpdateData(FALSE)内容变化更新控健
如果UpdateDate带有一个FALSE参数调用,函数会把数据从数据成员传送对话框控件。如果参数是TRUE,则函数所数据从对话框控件传送到数据成员
英文原义:Object-Oriented
中文释义:面向对象
注解:一种软件开发方法,它为程序员提供标准可重用的软件模块(组件),而无需开发人员每次
都编写定制编程代码。使用标准组件缩短了开发时间(因为其他程序员已经编写并测试了这些组件),
并且通过使用相同的组件确保了程序具有标准的外观。
英文原义:Interpreted Language
中文释义:解释型语言
注解:与编译型程序不同,每次运行解释型程序时都要由解释器程序实时地将源代码转换成二进制
形式,而编译型程序由编译器一次性将源代码转换成可执行代码,随后从其二进制形式运行。解释型语
言(以及用它们编写的程序)往往要比编译型语言及伪代码语言/程序慢,并且通常只有有限的底层操
作系统功能访问权限或直接访问硬件的权限。但从另一角度来说,它们无需编译器(可能非常昂贵),
并且经常包含在操作系统中,通常比编译型语言更容易编程。解释型语言的例子有BASIC、Perl、Pytho
和REXX/Object REXX。
编译型和解释型应用程序的比较
--------------------------------------------------------------------------------
作者:不详 来源于:中国VB网 发布时间:2005-7-2 13:57:12
按照缺省规定,Visual Basic 将应用程序编译成可运行的解释型或 P-code 程序。运行时,动态链接库 (DLL) 将翻译或解释执行程序中的指令。Visual Basic 专业版和企业版还可将程序编译成 .exe 本机代码。在许多情况中,运行本机代码比运行解释型代码本质上要快得多。但事情并非总是这样。以下是一些有关本机代码编译的一般指南:
若代码做了大量固定类型的、非字符串变量的基本操作,则其产生的本机代码将与编译的 P-code 操作码产生最大的反差。然而,对于复杂的经济计算或生成分形图形,用本机代码有很多好处。
计算密集型程序,或在局部数据结构中处理大量的位和字节操作的程序,用本机代码就可获得明显的好处。
在许多程序中,特别是那些含有大量 Windows API 调用,COM 方法调用和字符串操作的程序,本机代码不比 P-code 快多少。
如果应用程序主要含有来自 Visual Basic for Applications 运行库的函数,那么就看不到多少本机代码的好处,这是因为 Visual Basic for Applications 运行库已经高度优化了。
含有大量子例程调用而非内嵌过程的代码,用本机代码也似乎不太快。这是因为设置栈结构,初始化变量,返回时的清除等工作,用 P-code 引擎和用本机代码所花费的时间相同。
注意,调用一次对象、DLL 或 Visual Basic for Applications 运行函数,都会消弱本机代码性能上的优点。这是因为执行代码所花时间相对地少,而大量时间(常常达到 90-95%)花在窗体、数据对象、Windows DLL,或 Visual Basic for Applications 运行库,以及处理内部字符串和变量上。
实际测试中,典型情况是客户应用程序总的执行时间有 5% 用于执行 P-code。因此,如果本机代码是瞬时执行的,则在这些程序中用本机代码也只能改进性能最高达 5%。
本机代码的目的是可让程序员用 Basic 编写一小片代码或有大量计算的算法。这些,由于性能问题,在以前是决不可能的。使用这些运行非常快的“小片”,也能改善应用程序特定部分的响应,从而改进了整个应用程序的感觉性能。
详细信息 关于本机代码的编译的详细信息,请参阅“再论编程”的“将工程编译成本地代码”。
将工程编译成本机代码
--------------------------------------------------------------------------------
作者:不详 来源于:中国VB网 发布时间:2005-7-2 13:58:37
如果拥有 Visual Basic 的专业版或企业版,既可以将代码编译成标准的 Visual Basic 伪代码格式,也可以编译成本机代码格式。本机代码编译提供了伪代码编译所没有的关于优化和调试的几个选项。
P-code 或伪代码,是介于 Basic 程序中的高级指令和计算机处理器执行的低级本机代码之间的一种中间步骤。在运行时刻,Visual Basic 将每一句伪代码转换成本机代码。如果将程序直接编译成本机代码,则取消了伪代码这一中间步骤。
可以使用象在 Visual C++ 中提供的调试环境之类的标准的本机代码调试工具来调试编译后的本机代码。也可以使用例如在 Visual C++ 的语言中提供的优化和调试本机代码的选项。例如,可以根据代码运行速度和大小优化代码。
注意 所有用 Visual Basic 创建的工程都使用运行时 DLL (MSVBVM60.DLL) 服务。在 DLL 所提供的服务当中有您应用程序的启动和关闭代码、窗体和内部控件的功能,以及像 Format 和 CLng 的运行时函数。
用“本机代码”选项来编译工程意味着您写的代码将完整地编译为处理器芯片的本地指令,而不是编译为p-code。这将大大加速循环和数学计算,并可以加速对 MSVBVM60.DLL提供的服务程序的调用。然而,这并不能减少对 DLL 的需要。
要将工程编译成本机代码,请按照以下步骤执行:
在“工程”窗口,选择希望编译的工程。
从“工程”菜单选择“工程属性”。
在“工程属性”对话框,单击“编译”选项卡。
图 8.6 在“工程属性”对话框中的“编译”选项卡
选择“编译为本机代码”。
Visual Basic 提供几个选项用于定制和优化可执行文件。例如,当希望创建以代码大小为优化目标的编译代码时,可选择“小代码优化”选项。
如使用附加的高级优化选项,单击“高级优化”按钮。
选择所希望的选项,然后单击“确定”。
从“文件”菜单选择“制作 Exe”或者“生成工程组”。
下表描述本机代码优化选项。
选项 描述
禁止别名引用(高级优化) 通知编译器应用程序不使用别名引用。选择本选项将允许编译器实施优化,如将变量存储在寄存器中并且实现循环优化。
创建 Symbolic Debug Info 产生 .pdb 文件和 .exe 或 .dll 文件,其中包含允许用 Microsoft Visual C++ 5.0 或其它兼容调试器进行调试的信息。
支持 Pentium Pro(tm) 优化代码,使其支持在 Pentium Pro(tm) 处理器上运行。
不优化 取消所有的优化。
快速代码优化 通知编译器侧重于运行速度而非代码大小进行优化,使 .exe 和 .dll 文件的速度达到最快。
小代码优化 通知编译器侧重于代码大小而非运行速度进行优化,使 .exe 和 .dll 文件的大小达到最小。
取消数组边界检查(高级优化) 禁用 Visual Basic 的数组边界检查。
取消浮点数错误检查(高级优化) 禁用 Visual Basic 的浮点数错误检查。
取消整数溢出检查(高级优化) 禁用 Visual Basic 的整数溢出检查。
取消 Pentium(tm) FDIV 安全性检查(高级优化) 禁用对 Pentium(tm) 处理器浮点数除法的安全检查。
其实VC比VB难使并不是因为编译型和解释型的区别,而是因为设计时的目的不同。微软在设计VB时就把定位在一个面向初级用户的工具上,所以许多复杂、高级的功能没有提供,这样简化了学习难度。而VC主要面向专业程序员,可以支持非常复杂的功能,所以也比较难学。其实Delphi就是一个编译型系统,但象VB一样好学。
编译型和解释型的根本区别在于生成的代码不同:编译型生成的是机器码,所以运行速度快,目前的调试环境也很强大,可以支持各种源代码调试方法,唯一欠缺的是不能象解释系统那样当出错的时候立即定位相关的代码,不过这对有经验的程序员不是问题;解释型生成的是伪代码(P-代码),运行速度慢,而且由于生成的代码结构比较有规律,所以容易反汇编。