本发明专利技术提供一种在TCL语言中创建指针变量的方法,所述方法包括:S1、根据自定义类型查找变量类型数据库,得到相应变量类型;S2、为所述变量类型申请相应地内存空间,并将所述变量类型写入所述内存空间中;S3、根据所述变量类型和所述内存空间的首地址,按照预设格式创建指针变量,从而使TCL语言也支持指针变量,给编程带来灵活性。
【技术实现步骤摘要】
本专利技术涉及TCL语言,尤其涉及一种在TCL语言中在TCL语言中创建指针变量的方法及装置、应用指针变量的方法及系统。
技术介绍
TCL (Tool Command Language,工具命令语言)是一种脚本语言,由John Ousterhout创建。TCL语言经常被广泛用于快速原型开发、脚本编程、⑶I (Graphical User hterface,图形用户界面)和测试等方面。TCL语言只支持一种数据结构字符串 (string)。它将所有的命令,命令的所有的参数,命令的结果,所有的变量数据类型都可以看作字符串。然而,常用的TCL语言不支持指针的操作,从而导致TCL语言在编程的时候有一定限制,使用不够灵活。因此,有必要提供一种在TCL语言中在TCL语言中创建指针变量的方法及装置、应用指针变量的方法及系统以克服上述问题。
技术实现思路
本专利技术的目的在于提供一种在TCL语言中创建指针变量的方法。本专利技术的另一目的在于提供一种在TCL语言中创建指针变量的装置,所述装置应用在TCL语言中创建指针变量的方法。本专利技术的再一目的在于提供一种在TCL语言中应用前述创建的指针变量的方法。本专利技术的又一目的在于提供一种在TCL语言中应用前述创建的指针变量的系统, 该系统应用在上述在TCL语言中应用指针变量的方法。相应地,一种在TCL语言中创建指针变量的方法,所述方法包括51、根据自定义类型查找变量类型数据库,得到相应变量类型;52、为所述变量类型申请相应地内存空间,并将所述变量类型写入所述内存空间中;53、根据所述变量类型和所述内存空间的首地址,按照预设格式创建指针变量。作为本专利技术的进一步改进,所述预设格式中包括预设的变量名、变量类型、内存空间的首地址,其中所述内存空间的首地址为所述指针变量的变量值。作为本专利技术的进一步改进,在所述S3步骤后,还包括指针变量删除步骤S4,具体包括S41,解析所述预设的变量名,得到与所述变量名对应的变量类型和变量值; S42,根据所述变量值读取相应地内存空间的首地址; S43,释放所述内存空间并删除所述指针变量。作为本专利技术的进一步改进,一种在TCL语言中应用指针变量的方法,所述方法包括如所述创建指针变量的方法创建指针变量;根据所述变量类型查找所述变量类型数据库,得到所述指针变量的属性,以及根据所述变量值取得内存空间的首地址,创建并填写TCL数组; 返回给调用程序。作为本专利技术的进一步改进,所述方法还包括 将所述TCL数组转换后放入一临时指针的内存中;将所述临时指针复制到所述指针变量的内存空间的首地址; 释放所述临时指针的内存。作为本专利技术的进一步改进,所述属性为长度、成员类型、成员名称。作为本专利技术的进一步改进,一种在TCL语言中创建指针变量的装置,所述装置包括指针变量创建模块,其用于根据自定义类型查找变量类型数据库,得到相应变量类型; 为所述变量类型申请相应地内存空间,并将所述变量类型写入所述内存空间中; 根据所述变量类型和所述内存空间的首地址,按照预设格式创建指针变量。作为本专利技术的进一步改进,所述预设格式中包括预设的变量名、变量类型、内存空间的首地址,其中所述内存空间的首地址为所述指针变量的变量值。作为本专利技术的进一步改进,所述装置还包括指针变量删除模块,其用于 解析所述预设的变量名,得到与所述变量名对应的变量类型和变量值; 根据所述变量值读取相应地内存空间的首地址;释放所述内存空间并删除所述指针变量。作为本专利技术的进一步改进,一种在TCL语言中应用指针变量的系统,所述系统用于根据所述指针变量创建模块创建所述指针变量;根据所述变量类型查找所述变量类型数据库,得到所述指针变量的属性,以及根据所述变量值取得内存空间的首地址,创建并填写TCL数组; 返回给调用程序。作为本专利技术的进一步改进,所述指针变量赋值子模块在执行时,当TCL数组的值经过转换后首先放到创建临时的指针里,然后通过内存复制到指针变量所指的内存首地址中,同时释放临时指针所指的内存。本专利技术的有益效果是通过在TCL语言进行指针变量的创建、应用,使得TCL语言也支持指针的操作,从而给TCL语言编程带来灵活性。附图说明图1是本专利技术在TCL语言中创建指针变量的方法的流程图; 图2是图1中指针变量的删除步骤的具体流程图3是本专利技术在TCL语言中应用指针变量的方法的流程图; 图4是本专利技术中在TCL语言中创建指针变量的装置的模块图; 图5是本专利技术中在TCL语言中应用指针变量的系统的模块图。具体实施例方式以下将结合附图所示的各实施方式对本专利技术进行详细描述。但这些实施方式并不限制本专利技术,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本专利技术的保护范围内。请参阅图1所示,本专利技术在TCL语言中创建指针变量的方法,包括以下步骤51、根据自定义类型查找变量类型数据库,得到相应变量类型;52、为所述变量类型申请相应地内存空间,并将所述变量类型写入所述内存空间中;53、根据所述变量类型和所述内存空间的首地址,按照预设格式创建指针变量。所述预设格式中包括预设的变量名、变量类型、内存空间的首地址,并按照“变量名_p_指针类型”的格式进行表示,其中所述内存空间的首地址为所述指针变量的变量值。请结合图1及图2所示,所述方法在所述S3步骤后,还包括指针变量删除步骤S4, 具体包括S41,解析所述预设的变量名,得到与所述变量名对应的变量类型和变量值; S42,根据所述变量值读取相应地内存空间的首地址; S43,释放所述内存空间并删除所述指针变量。请参照图3所示,本专利技术在TCL语言中应用指针变量的方法,包括以下步骤 如所述的创建指针变量的方法创建指针变量;读写指针变量,主要是首先根据所述变量类型查找所述变量类型数据库,得到所述指针变量的属性,然后根据所述变量值取得内存空间的首地址,创建并填写TCL数组,最后返回给调用程序;其中所述属性为长度、成员类型、成员名称;指针变量的赋值,主要是先将所述TCL数组转换后放入一临时指针的内存中,然后将所述临时指针复制到所述指针变量的内存空间的首地址,最后释放所述临时指针的内存。以及指针变量的取地址操作,主要是进行读取指针变量所指内存的首地址。请结合图4所示为本专利技术在TCL语言中创建指针变量的装置,该装置主要应用在前述创建指针变量的方法,所述装置包括指针变量创建模块,其用于根据自定义类型查找变量类型数据库,得到相应变量类型; 为所述变量类型申请相应地内存空间,并将所述变量类型写入所述内存空间中; 根据所述变量类型和所述内存空间的首地址,按照预设格式创建指针变量;所述预设格式中包括预设的变量名、变量类型、内存空间的首地址,并按照“变量名_P_指针类型”的格式进行表示,其中所述内存空间的首地址为所述指针变量的变量值。所述装置还包括指针变量删除模块,其用于解析所述预设的变量名,得到与所述变量名对应的变量类型和变量值; 根据所述变量值读取相应地内存空间的首地址; 释放所述内存空间并删除所述指针变量。请结合图5所示为本专利技术在TCL语言中应用指针变量的系统,其该系统主要应用在所述在TCL语言中应用指针变量的方法上,所述系统包括前述指针变量创建装置,用于创建或删除所述指针变量;指针变量读写模块,用于读写指针变量,主要是首先根据所述变本文档来自技高网...
【技术保护点】
【技术特征摘要】
【专利技术属性】
技术研发人员:杨曙军,姚飞,
申请(专利权)人:盛科网络苏州有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。