首页 > 解决方案 > 是否可以调用尚未声明的共享库中的函数?

问题描述

简短版本:我正在尝试使用尚未在头文件中声明的共享库中的函数。是否可以?如果是这样,怎么做?

长版:我正在尝试使用 GNU readline-7.0 作为共享库。不幸的是,除非您通过 api 调用将其关闭,否则默认情况下它会回显输入。遗憾的是,这个 api 调用没有在他们的标题中声明,因为有人忘记了。在此处查看详细信息注意:我无法更新到更新的 readline,所以我被这个库困住了。如何使用这个未声明的函数?

标签: clinuxshared-librariesgnureadline

解决方案


如链接错误中所述,即使该函数存在于实现中,头文件中也没有外部声明。

该链接还显示了带有添加声明的修复:

extern int rl_tty_set_echoing PARAMS((int));

所以你可以在你的代码中添加这个#include <readline.h>


推荐阅读