一种linux平台的函数调用方法及函数调用装置的制作方法

文档序号:6385425阅读:141来源:国知局
专利名称:一种linux平台的函数调用方法及函数调用装置的制作方法
技术领域
本发明涉及嵌入式技术领域,尤其涉及一种Iinux平台的函数调用方法及函数调田悲晉/Tl 目.ο背景技术
Linux是一种自由和开放源码的类Unix操作系统,随着Linux逐渐发展成熟,它的 用户群正在不断扩大,并大举进入公司和企业计算机领域。
目前,在Linux平台中进行调试的方式主要是通过专用的上位机软件向下位机发 送协议命令来调用相关的调试函数。由于专用的上位机软件需要针对下位机配套专门开 发,开发成本较高且灵活性差,另外,在有些场合(如用户的上位机上不允许开发人员额外 安装软件的场合)中,也不便于通过上位机软件调用相关的调试函数对Linux进行调试。发明内容
本发明实施例提供了一种Iinux平台的函数调用方法及函数调用装置,用于降低 开发成本,提高在Iinux平台中对函数调用的灵活性和便利性。
为解决上述技术问题,本发明实施例提供以下技术方案
本发明第一方面提供一种Iinux平台的函数调用方法,包括
建立单元建立待调用函数的函数名与发送单元的路径名的符号链接;
获取单元获取所述待调用函数的调用信息,其中,所述待调用函数的调用信息包 含所述待调用函数的函数名;
所述发送单元将获取的所述待调用函数的调用信息发送给调用单元,使得所述调 用单元根据所述待调用函数的调用信息对所述待调用函数进行调用。
基于本发明第一方面,在第一种可能的实现方式中,
通过如下shell命令建立待调用函数的函数名的符号链接
$ln-s所述发送单元的路径名待调用函数的函数名。
基于本发明第一方面,或者本发明第一方面的第一种可能的实现方式,
所述调用信息还包括所述待调用函数的一个或者两个以上的执行参数。
本发明第二方面提供一种Iinux平台的函数调用装置,包括
建立单元,获取单元,发送单元和调用单元;
所述建立单元用于建立待调用函数的函数名与发送单元的路径名的符号链接;
所述获取单元用于获取所述待调用函数的调用信息,其中,所述待调用函数的调 用信息包含所述待调用函数的函数名;
所述发送单元用于将所述获取单元获取的所述待调用函数的调用信息发送给所 述调用单元;
所述调用单元用于根据所述发送单元发送的待调用函数的调用信息对所述待调 用函数进行调用。
基于本发明第二方面,在第一种可能的实现方式中,
所述建立单元具体通过如下shell命令建立待调用函数的函数名的符号链接
$ln - s所述发送单元的路径名待调用函数的函数名。
由上可见,本发明实施例中通过建立待调用函数的函数名的符号链接,通过获取 包含函数名的调用信息即可实现对待调用函数的调用,一方面,本发明技术方案无需开发 专门的上位机软件用于调试,降低了开发成本,另一方面,本发明技术方案能够应用于任何 场合的Iinux平台中,且用户可以直接在操作界面输入调用信息来调用相应地函数,极大 提高了在Iinux平台中对函数调用的灵活性和便利性。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。
图1为本发明提供的一种Iinux平台的函数调用方法一个实施例流程示意图2为本发明提供的一种Iinux平台的函数调用方法另一个实施例流程示意图3为本发明提供的一种函数调用装置一个实施例结构示意图。
具体实施方式
本发明实施例提供了一种Iinux平台的函数调用方法及函数调用装置。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明 实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实 施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域普通 技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范 围。
下面对本发明实施例提供的一种Iinux平台的函数调用方法进行描述。请参阅图 1,本发明实施例中的Iinux平台的函数调用方法包括
101、建立单元建立待调用函数的函数名与发送单元的路径名的符号链接;
由于在Iinux平台中,Iinux自身无法提供在shell命令中直接输入函数名的方 式实现对某个指定进程中的函数的调用,因此,本发明实施例中首先需要通过建立单元建 立待调用函数的函数名与发送单元的路径名的符号链接。
具体地,建立单元可以通过如下shell命令建立待调用函数的函数名与发送单元 的路径名的符号链接$ln-S发送单元的路径名待调用函数的函数名。当然,建立单元也 可以通过其它方式来建立待调用函数的函数名与发送单元的路径名的符号链接,如通过使 用脚本对包含待调用函数的源文件进行扫描的方式来建立源文件中的各个待调用函数的 函数名与发送单元的路径名的符号链接,此处不作限定。
需要说明的是,对于同一个待调用函数的函数名的多次调用,只需执行一次本步 骤,即,上述建立待调用函数的函数名与发送单元的路径名的符号链接的步骤只需要在首 次调用待调用函数的函数名时执行一次,当待调用函数的函数名与发送单元的路径名的符号链接完成建立后,除非发送单元的路径名或者待调用函数的函数名有所更改,否则可以 直接跳过本步骤执行后续步骤。
102、获取单元获取上述待调用函数的调用信息;
其中,上述待调用函数的调用信息包含上述待调用函数的函数名。
本发明实施例中,用户可以在shell界面中输入待调用函数的调用信息,以使获 取单元获取上述待调用函数的调用信息。当然,获取单元也可以通过其它方式获取上述待 调用函数的调用信息,如当Iinux平台中的某些进程需要调用到该待调用函数时,由需要 调用到该待调用函数的进程将该待调用函数的调用信息发送给上述获取单元,此处不作限 定。
进一步,由于某些待调用函数还可能包含一个或者多个执行参数,因此,上述调用 信息还可以包括上述待调用函数的一个或者两个以上的执行参数。
103、发送单元将获取的上述待调用函数的调用信息发送给调用单元,使得上述调 用单元根据上述待调用函数的调用信息对上述待调用函数进行调用;
本发明实施例中,预先建立发送单元与调用单元之间的数据链路。由于步骤101 建立了待调用函数的函数名与发送单元的路径名的符号链接,因此,当步骤102获取到包 含待调用函数的函数名的调用信息时,发送单元将获取的上述待调用函数的调用信息发送 给调用单元,使得上述调用单元根据上述待调用函数的调用信息对上述待调用函数进行调 用。
需要说明的是,上述调用单元可以是主函数所在的进程,则上述待调用函数为上 述主函数中的其中一个子函数,或者,上述调用单元也可以是Iinux平台中能够调用上述 待调用函数的其它进程,此处不作限定。
由上可见,本发明实施例中通过建立待调用函数的函数名的符号链接,通过获取 包含函数名的调用信息即可实现对待调用函数的调用,一方面,本发明技术方案无需开发 专门的上位机软件用于调试,降低了开发成本,另一方面,本发明技术方案能够应用于任何 场合的Iinux平台中,且用户可以直接在操作界面输入调用信息来调用相应地函数,极大 提高了在Iinux平台中对函数调用的灵活性和便利性。
为便于更好地理解本发明技术方案,下面以一具体应用场景为本发明实施例中的 Iinux平台的函数调用方法进行描述,本发明实施例中的调用单元为主函数所在的进程,待 调用函数为主函数的其中一个子函数,假设待调用函数的函数名为CPFpgaSetReg,发送单 元的路径名为vwDebug,请参与图2,本发明实施例中的Iinux平台的函数调用方法,包括
201、建立单元建立CPFpgaSetReg与vwDebug的符号链接;
建立单元可以通过如下shell命令建立待调用函数的函数名与发送单元的路径 名的符号链接$ln - s vwDebug CPFpgaSetReg0
202、用户在shell界面输入CPFpgaSetReg以及执行参数0x74和Oxl ;
其中,用户可以在shell界面敲进如下命令来输入CPFpgaSetReg以及执行参数 0x74 和 Oxl :
$./CPFpgaSetReg 0x740x1
203、获取单元将获取到的待调用的函数名CPFpgaSetReg以及执行参数0x74和 Oxl传送给发送单元;
当步骤202 用户在 shell 执行$. /CPFpgaSetReg 0x740x1 时,shell 中的 argv 数 组的字符串分别如下argv [O]等于CPFpgaSetReg, argv [I]等于0x74, argv [2]等于0x1, 获取单元通过argv数组的字符串即可获得待调用的函数名CPFpgaSetReg以及执行参数 0x74 和 0x1。
由于步骤201建立了 CPFpgaSetReg和vwDebug的符号链接,获取单元根据符号链 接的指向,将待调用的函数名CPFpgaSetReg以及执行参数0x74和Oxl传送给发送单元。
204、发送单元将待调用的函数名CPFpgaSetReg以及执行参数0x74和Oxl发送给 调用单元;
发送单元通过预先建立好的数据链路,将argv数组的字符串,即待调用的函数名 CPFpgaSetReg以及执行参数0x74和Oxl发送给调用单元。
205、调用单元调用CPFpgaSetReg,并执行参数0x74和0x1。
由上可见,本发明实施例中通过建立待调用函数的函数名的符号链接,通过获取 包含函数名的调用信息即可实现对待调用函数的调用,一方面,本发明技术方案无需开发 专门的上位机软件用于调试,降低了开发成本,另一方面,本发明技术方案能够应用于任何 场合的Iinux平台中,且用户可以直接在操作界面输入调用信息来调用相应地函数,极大 提高了在Iinux平台中对函数调用的灵活性和便利性。
下面对本发明实施例中的一种Iinux平台的函数调用装置进行描述,请参阅图3, 本发明实施例中的Iinux平台的函数调用装置300,包括
建立单元301,获取单元302,发送单元303和调用单元304。
其中,建立单元301用于建立待调用函数的函数名与发送单元的路径名的符号链 接;
具体地,建立单元301可以通过如下shell命令建立待调用函数的函数名与发送 单元303的路径名的符号链接$ln - s发送单元303的路径名待调用函数的函数名。当然, 建立单元301也可以通过其它方式来建立待调用函数的函数名与发送单元303的路径名的 符号链接,如通过使用脚本对包含待调用函数的源文件进行扫描的方式来建立源文件中的 各个待调用函数的函数名与发送单元的路径名的符号链接,此处不作限定。
需要说明的是,对于同一个待调用函数的函数名的多次调用,只需在首次调用待 调用函数的函数名时由建立单元301建立待调用函数的函数名与发送单元的路径名的符 号链接,当待调用函数的函数名与发送单元的路径名的符号链接完成建立后,除非发送单 元的路径名或者待调用函数的函数名有所更改,否则可以建立单元301可以不再执行建立 上述待调用函数的函数名与发送单元的路径名的符号链接的动作。
获取单元302用于获取上述待调用函数的调用信息,其中,上述待调用函数的调 用信息包含上述待调用函数的函数名;
本发明实施例中,用户可以在shell界面中输入待调用函数的调用信息,以使获 取单元302获取上述待调用函数的调用信息。当然,获取单元302也可以通过其它方式获取 上述待调用函数的调用信息,如当Iinux平台中的某些进程需要调用到该待调用函数时, 由需要调用到该待调用函数的进程将该待调用函数的调用信息发送给获取单元302,此处 不作限定。
进一步,由于某些待调用函数还可能包含一个或者多个执行参数,因此,上述调用信息还可以包括上述待调用函数的一个或者两个以上的执行参数。
发送单元303用于将获取单元302获取的上述待调用函数的调用信息发送给调用 单元304 ;
本发明实施例中,预先建立发送单元303与调用单元304之间的数据链路。当获 取单元302获取到包含待调用函数的函数名的调用信息时,发送单元303将获取的上述待 调用函数的调用信息发送给调用单元304。
调用单元304用于根据发送单元303发送的待调用函数的调用信息对上述待调用 函数进行调用。
需要说明的是,上述调用单元可以是主函数所在的进程,则上述待调用函数为上 述主函数中的其中一个子函数,或者,上述调用单元也可以是Iinux平台中能够调用上述 待调用函数的其它进程,此处不作限定。
需要说明的是,本发明实施例中的函数调用装置300中的各个功能单元可以如上 述方法实施例中的相应的功能单元,可以用于实现上述方法实施例中的全部技术方案,其 各个功能单元的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照 上述实施例中的相关描述,此处不再赘述。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列 的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为 依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知 悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和单元并不一定都是本发 明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部 分,可以参见其它实施例的相关描述。
本领域普通技术人员可以理解,本发明的技术方案本质上或者说对现有技术做出 贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件 产品存储在一个存储介质中,包括若干指令用以指令计算机设备(可以是个人计算机,服务 器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储 介质包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本发明所提供的一种Iinux平台的函数调用方法及函数调用装置进行了 详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式
及应用 范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种Iinux平台的函数调用方法,其特征在于,包括 建立单元建立待调用函数的函数名与发送单元的路径名的符号链接; 获取单元获取所述待调用函数的调用信息,其中,所述待调用函数的调用信息包含所述待调用函数的函数名; 所述发送单元将获取的所述待调用函数的调用信息发送给调用单元,使得所述调用单元根据所述待调用函数的调用信息对所述待调用函数进行调用。
2.根据权利要求1所述的方法,其特征在于,通过如下shell命令建立待调用函数的函数名的符号链接 $ln - s所述发送单元的路径名待调用函数的函数名。
3.根据权利要求1或2所述的方法,其特征在于, 所述调用信息还包括所述待调用函数的一个或者两个以上的执行参数。
4.一种Iinux平台的函数调用装置,其特征在于,包括 建立单元,获取单元,发送单元和调用单元; 所述建立单元用于建立待调用函数的函数名与发送单元的路径名的符号链接; 所述获取单元用于获取所述待调用函数的调用信息,其中,所述待调用函数的调用信息包含所述待调用函数的函数名; 所述发送单元用于将所述获取单元获取的所述待调用函数的调用信息发送给所述调用单元; 所述调用单元用于根据所述发送单元发送的待调用函数的调用信息对所述待调用函数进行调用。
5.根据权利要求4所述的函数调用装置,其特征在于,所述建立单元具体通过如下shell命令建立待调用函数的函数名的符号链接 $ln_s所述发送单元的路径名待调用函数的函数名。
全文摘要
本发明实施例公开了一种linux平台的函数调用方法及函数调用装置,其中,一种linux平台的函数调用方法包括建立单元建立待调用函数的函数名与发送单元的路径名的符号链接;获取单元获取所述待调用函数的调用信息,其中,所述待调用函数的调用信息包含所述待调用函数的函数名;所述发送单元将获取的所述待调用函数的调用信息发送给调用单元,使得所述调用单元根据所述待调用函数的调用信息对所述待调用函数进行调用。本发明提供的技术方案能够有效提高在linux平台中对函数调用的灵活性和便利性。
文档编号G06F11/36GK103034501SQ201210572378
公开日2013年4月10日 申请日期2012年12月25日 优先权日2012年12月25日
发明者张涛 申请人:广东威创视讯科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1