c语言程序转换成库函数软件,C语言库函数程序转换方法

C语言库函数

第2 9卷

20 0 9年 6月

文章编号:0 1 9 8 (0 9 S 0 7 10— 0 1 20 ) 1— 2 5—0 4

计算机应用

J u n lo mp t rA p iai n o r a fCo u e p l t s c o

Vo . 9 12

J n 0 9 u e2 0

C语言库函数程序转换方法

赵瑾瑾,蜀平,忠林祝严

(上海师范大学信息与机电工程学院,上海 2 0 3 ) 0 2 4

f hj2— 1@ 1 3 c n j z 8 2 1 6 .o 1

要:结合通用函数库的特点和正则表达式的优点设计和实现了一套完善、简单、逻辑结构清晰的转换方法和

实现代码,该方法不仅保证了最终结果的绝对完全一致,而且解决了因 c语言拥有指针类型而存在的数据类型不一

致问题,通过大量测试用例验证了该方法的正确性、效性和高效性。并有

关键词:正则表达式;言库函数; C语编程语言转换

中图分类号: P 1 T3 l 文献标志码: A

Pr g a r n f r a i n m e ho o i r r u to f C o r m t a s o m to t d f r lb a y f nc i ns O

Z A i—n H h—ig Y N Z o gl H O J j,Z U S upn, A h n—n ni i

( oeeo fr ai n l tcl nier g S ag a r lU i rt,S n h i 0 24 C i ) C lg I om t na dE c i gnen, h n hi ma nt sy h g a 20 3, hn l fn o e ra E i No ei a a

Ab t a t h i rr u cin o sv r o s r c:T e l ay f n t fC i e y c mmo s d i r g a d sg,w i h e u a x r s in h st e sr n b o n u e n p o rm e in h l t e r g l re p e s a h t g e o o

p we n srng qu r n ma c i g AnMy e t c a a trsi o i r r un to, c mb n d t e a v ntg s f ̄ g l o r i t i ey a d thn . z d he h r ce t i cs flb a f cins y o i e h d a a e o ua r

e peso s d s a somain meh d t a so irr u cin

fC it a a h  ̄o eov eicn itn x rsin, ei at n fr t to ot n fr l ayfn t so noJv .T eme d rs let n osse t n g r o r m b o h

p o l m fd t y ec u e y p it r p fC,e s r a ef a ̄t i b ou ey c n itn i eo e a st e ts r b e o aat p a s d b o n e e o y t n u e t t h n lms s sa s l tl o s e tw t b fr .P h t h t i s h s e

t e iy t e c re t e s o h eh d, efc ie e sa d efc e c . o v rf h or c n s ft e m to fe tv n s n f i n y i K e o ds rgua x r s in; lbr r un to fC; prg a l g a e ta f r to y w r: e l re p e so i ay f cins o o m a u g rnso main r n

0引言

程序转换技术是一种重要的软件重用技术。程序转换是指从一种编程语言到另一种编程语言之间的转换,转换后两个程序的功能完全相同。我们将早期的编程语言编写的代码和软件称为遗产代码和遗产软件。通过程序转换技术将遗产代码和遗产软件转换为当前正在使用的现代语言代码,这对

于升级和完善原有的遗产系统具有非常重要的意义和价值,

1正则表达式简介

正则表达式是一种特殊字符串,由普通字符 (原义字符 ) 和特殊字符 (元字符 )组成,能按照特定语法规则被解释成多种字符串,以此对目标字符串进行匹配。也可以说正则表并

达式就是用一个“符串”字来描述一个特征,后去验证另一 然

个“字符串”是否符合这个特征 J。正则表达式可以用来: ) 1验证字符串是否符合指定特征,比如验证是否是合法的邮件地址;) 2用来查找字符串,一个长的文本中查找符合指定从特征的字符串,比查找固定字符串更加灵活方便; )来替 3用换,比普通的替换更强大。 正则表达式的最大的优点就是对字符串的查询操作非常方便,尤其是在匹配和查找指定特征的字符串时,理而灵活合

地使用正则表达式,仅可以快速地查找

到与所需特征相匹不

不仅避免了因抛弃原系统在零基础上开发新系统所面临的开发费用、开发周期和安全性的风险,而且能够继承原系统的优势,节省开发的成本,高效率,提降低风险;同时,转换后的代

码在进一步的开发和优化升级过程中,够更好地利用现代能

编程语言所提供的技术和方法,发出更加完善和强大的系开

统。

以往研究的程序转换技术主要集中在过程式语言到过程式语言,现在由于面向对象语言的广泛使用,因此我们选择经典的过程式语言 c语言向纯面向对象语言 Jv语言的转换 aa (以下简称“ oJv代码转换”作为研究对象。 Ct aa ) C t Jv代码转换是一项非常庞大和复杂的工程,中 aa o其的 c语言库函数转换是一大重点。C语言中包含着大量的库函数,些函数不仅数量庞大,这提供的功能也非常丰富和强

配的字符串,而且使得程序的代码简化易读,比较简便的代用

码就可以实现复杂的逻辑。

2通用函数库转换的难题和目标

通用函数库是 C语言代码中使用频率非常高的一类函

数,对通用函数库的转换主要存在两方面的难题。 1 C语言和 Jv语言的数据类型是不完全一致的, ) aa不仅

大,转换好这部分函数,对整个转换系统的代码转换正确性、

转换率和可用性都具有十分重要的意义。本文就以 c语言代码中使用频率非常高的通用函数库 (tl . )换做为研 s i h转 db

究重点。

在数据类型的种类、数量、对应的数据类型的位数上存在差别,而且还有许多没有对应关系的数据类型,主要的表现就最

是指针类型。C语言中包含有大量的指针类型, Jv而 aa语言

取消了指针的概念, C语言中的大部分库函数,尤其是我们需

要转换的通用函数库、以及使用库函数的 C语言源程序中, 都可能会出现大量的指针类型,转换为 Jv代码时如何有效 aa

由于各种不同版本的 c语言的细节不尽相同,我们下面

转换中所指的 C语言是 8 N I (S/ E 89 19 ) 7A S I0 IC9 9:9 0。 C

收稿日期:0 8—1 6:回日期:0 9— 3—0。 20 0—0修 20 0 5

基金项目:上海市教委荩金资助项目( 5 Z4) 0D 1。

作者简介:瑾 (9 2一)女,

赵 18,宁夏银川人 . j研究生,硕:主要研究=向: J=网络、 r多媒体;祝蜀平 ( 98一)女, 17,河南三门峡人,硕士研究肆.主要研究方向:网络、彩媒体;严忠林( 9 0—弭, 16 .汀:镇汀人,师, 主要研方:计算机系统、程序设计。

1-2080-png_6_0_0_0_0_836_1224_836.64_1224-1422-0-0-1422.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值