在 4gl 文件中找不到函数定义

Posted

技术标签:

【中文标题】在 4gl 文件中找不到函数定义【英文标题】:Function definition not found in 4gl file 【发布时间】:2013-05-15 05:18:08 【问题描述】:

我正在研究 4gl 语言,但还是个新手。在文件 custom.4gl 中调用了函数 cleanup(),但我没有找到函数定义。我正在努力寻找。

我得到了一个名为“tags”的文件,其中包含以下代码行,其中有清理提示。但我不明白这是什么意思。谁能帮我找到函数定义。

我用我的代码编辑器搜索了文件夹,但没有办法。

cleanup custom.4gl  /^function cleanup(
cn_error_handler    cnerhand.4gl    /^function cn_error_handler(
default_code    custom.4gl  /^function default_code(
get_file    custom.4gl  /^function get_file(
get_params  custom.4gl  /^function get_params(
get_prompts custom.4gl  /^function get_prompts(
logo    main.4gl    /^function logo(

【问题讨论】:

您使用什么 Informix 4gl 版本? 1.20 ?我想从来没有这样的版本。您使用什么 Informix 产品? 可能 cleanup() 在另一个源文件中。您可以将多个已编译的 4gl 文件“链接”到一个可执行文件中。您可能有一个“库”文件功能与 4gl 程序共享(和链接)。 哪个平台? I4GL 1.20 不是我记得的版本,但它可能作为 PC-DOS 版本存在(在 Windows 出现之前的日子!)。但我们谈论的是老年软件——已经有 20 多年的历史了。请仔细检查版本(i4gl -V)并确认平台。 从表面上看,函数cleanup应该(曾经)在文件custom.4gl中。标签文件包含函数名、文件名和用于在文件中查找函数的正则表达式。您是否有 VCS(版本控制系统)下的源代码。如果没有,为什么不呢!如果是这样,请查看最近对 custom.4gl 的更改。 【参考方案1】:

函数清理曾经在 custom.4gl 中。

如果现在不存在,那么一定是有人删除了它。

您是否有某种可以从中获取的源代码控制系统?

【讨论】:

【参考方案2】:

我通常做什么:

在调试器中运行可执行文件并中断该函数,它会告诉您其定义的 .4gl 文件的名称。

中断清理

【讨论】:

嗯...有趣...我假设程序没有链接或由于缺少功能而没有运行;您假设程序运行,但问题是找到提供该功能的源文件。根据您的假设,您的建议是合理的。

以上是关于在 4gl 文件中找不到函数定义的主要内容,如果未能解决你的问题,请参考以下文章

R - 在用户定义的函数中找不到对象

链接器在命名空间中找不到函数定义

java中已经定义了main函数,运行报错类中找不到主方法,求大神解答是啥原因!

在 foreach 循环中找不到函数

在 xml 定义的活动中找不到 onClick 方法

自定义损失函数 sklearn