继续公开引用模块指定子程序源码

其实是很简单的东西。文件结构分析,东灿和曙光都帮我们做了,我只是利用他们的研究成果做一个有用的程序而已。

感谢东灿、曙光!

易模块文件 的分析参考了 东灿 的 易模块分析 和 曙光 的 “易语言文件分析软件及源码 2014年11月5日” 的相关代码

用途:

我们有时希望继续公开引用的模块的指定子程序

虽然易语言提供了继续公开的功能,但无法指定子程序,只能继续公开某一个模块的全部子程序

本程序通过修改易模块文件的方式实现了继续公开指定子程序

由于需求是使用与原来的模块的子程序名称相同的名称公开

因此手动添加一个中间子程序,将造成名称冲突的问题

而且通过一个中间子程序调用,会影响效率

同时一些特殊代码(如使用汇编实现的 取This指针)不允许存在中间子程序

使用方法:

假设需要继续公开的来自模块的名称为“Test”的子程序(以下将这个模块称作提供者)

在引用这个模块的模块(以下称作引用者)中添加一个子程序,名称为“_继续公开_Test”(需要公开),参数与需要与提供者中的“Test”子程序相同,注释随便。当处理后,继续公开的子程序的注释将修改成引用者的“_继续公开_Test”子程序的注释。

引用者的“_继续公开_Test”子程序中的代码应该为:“

Test (参数……)

”或者为“

返回 (Test(参数……))

”不能为其他形式

然后,使用本程序处理,即可完成需求

处理后的模块是直接公开的提供者的函数,因此调用时不会经过引用者中的“_继续公开_Test”中转

“_继续公开_Test”会在处理过程中隐藏

之所以注释和参数名称使用引用者的“_继续公开_Test”子程序的相关信息,是因为,提供者的子程序在编译引用者的时候并没有公开,因此注释和参数名称会在编译引用者的时候删除。

相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

继续公开引用模块指定子程序源码》有0个想法

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注