不同计算机语言混合编程的连接方法探讨.docx

不同计算机语言混合编程的连接方法探讨.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

??

?

??

不同计算机语言混合编程的连接方法探讨

?

??

?

?

?

?

?

?

?

???

?

?

?

?

?

齐晶薇

(哈尔滨远东理工学院,黑龙江哈尔滨150025)

摘要:随着信息技术的发展,计算机在编程环节也得到了快速的更新发展,计算机程序设计形成了规模化发展.在计算机语言编程上,多种语言混编已成为一种较为实用的程序设计方法,具有较强的时效性和针对性.本文从主要的计算机混合编程方式入手,以Pascal和汇编语言、C语言和汇编语言为例,从计算机存储器分配、不用计算机语言控制及其传送等环节,探究不同计算机语言混合编程的连接方法.

关键词:混合编程;汇编语言;高级语言;连接方法

中图分类号:TP313文献标识码:A文章编号:1673-260X(2015)10-0024-03

现阶段广泛采用的计算机软件开发语言,如C语言,由于其具备较高的编程效率,在各个行业软件研究开发中得到了广泛应用.作为一种低级语言,汇编语言与高级语言相比,又具有无可比拟的运行速度优势.在这两种计算机语言进行混编时,如何使两者实现有效连接,就成为计算机编程人员需要着力探究的问题.

1不同计算机语言混合编程的可行性

在现阶段计算机软件研究开发中,在同一个应用系统中采取两种或多种不同类型的计算机编码语言,已经成为可能,并获得了实践的认可.作为计算机语言而言,即便一种语言具备再强的功能,但总有该项语言的弱点和不足,呈现出局限性和先进性并存的特征.

例如,数据库语言,与C语言、Fortran等计算机高级语言形式相比,其在数据管理方面性能突出,但在计算能力及运行速度等层面又远远不及后两者.计算机汇编语言,作为一种低级语言,又具备了较快的运行速度,在存储空间占用上,小于C语言等高级语言,更为重要的一点是,汇编语言具备对计算机硬件进行访问控制的能力[1].因此,不同的计算机语言各有其优劣,将不同计算机语言进行混合编程,则可以吸取各种语言的优势及特长,为计算机编程用户提供更具针对性的编程需求.例如,在计算机编程中,将大部分程序采用高级语言的形式进行编写,在计算机程序的一些重点部分,需要多次运行的部位,其对运行速度和效率具有较高的要求时,或者需要对计算机硬件进行直接访问时,此时就可采用汇编语言进行编程.如此一来,可以发挥出各自语言的优点,既达到了多种计算机语言综合运用的目的,又能使计算机编程效率提升,缩短研发周期.

2不同计算机语言混合编程连接方法要注意并解决的基本问题

不同计算机语言混合编程在进行连接时,应考虑并解决的基本问题有以下几方面:

2.1存储器分配

计算机高级语言在经过编译之后,往往会产生格式为OBJ的文件,与之相应地,计算机汇编语言在经过编译之后,同样会产生OBJ格式的文件,借助连接程序,通过将两者加以连接,从而构成了具备执行条件的EXE文件,在EXE文件形成后,连接程序就已将其装入计算机内存系统中,等待执行.从这一流程可以看到,在存储器分配环节,主要是由连接程序加以掌控的,因此,用户可以忽略这一环节.

但涉及到Basic语言时,因为其承担解释程序的任务,因此,情况就要稍显复杂,此时应从计算机存储器中找到汇编语言的存放位置,再将相关信息加以传送,使Basic语言能够有效接收.

2.2参数传递

汇编语言和计算机高级语言之间呈现出一种彼此依存的关系,一般而言,可将汇编语言视为计算机高级语言所具备的外部过程,在对汇编语言进行调用时,由计算机高级语言采取函数方式或过程方式进行[2].而汇编语言和计算机高级语言这两种程序在进行参数传递时,常采用堆栈的方式进行,具体而言,就是调用程序首先将参数在堆栈中进行依次压入,当调用程序被启用,此时堆栈中被压入的参数再依次弹出,转变为操作数,以备使用.

因此,要使参数有效传递,需要对计算机不同语言所具有的生成方式、堆栈结构及其参数入栈方式加以明确.Pascal、Fortran、Basic等高级语言在参数入栈的顺序上和参数表中参数的顺序相一致,也就是采用自左至右的方式,C语言在参数入栈顺序上则采取自右至左的相反顺序.

3以Pascal语言、C语言与汇编语言混合编程为例,探究其连接方法

3.1Pascal语言与汇编语言连接方法和程序

Pascal语言作为一种计算机高级语言,可将汇编语言看做是其外部过程,汇编语言在写法上与外部调用过程相同,在进行汇编语言程序编写时,首先要有公共程序名称,即publicprocedurename.在对程序段进行定义编写时,要采用public组合型加以说明解释,程序运行结束后,在返回上采用ret指令,又因为参数传递时采用的是堆栈方式,因此,在程序返回处理时,通常要使返回指令带有常数,这样即可越过参数区.

除了调用汇编语言过程之外,Pascal语言还要对过程的定义加以解决.在

文档评论(0)

180****0576 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档