在C中使用标准函数名称

沙赫扎德

我正在编译一个称为nauty的程序。该程序使用规范函数名称getline,它也是标准GNU C库的一部分。

是否可以在编译时告诉GCC使用此程序定义的函数?

海德

一种解决方案:

现在,您可以在某些应用程序.h文件中声明该功能,例如:

int getline(...); // the custon getline

更改为:

int application_getline(...); // the custon getline
#define getline application_getline

我认为应该这样做。.c假定包含函数文件,它还将修复定义函数的.h文件。

另外,使用grep或“编辑”文件中的内容以确保该宏生效的每个位置都不会引起麻烦。

重要:在每个文件中,请确保该.h文件包含任何可能使用getline符号的标准标题之后您不希望该宏在那些宏中生效...

注意:这是一个丑陋的骇客。再说一次,根据某些标准,几乎所有涉及C预处理器宏的东西都可以被视为丑陋的骇客。再说一次,通常可以通过接受现有不兼容的代码库来进行协作和合作,尤其是在不需要长期维护的情况下。

注2:根据此答案并在注释中指出,这是C标准未定义的行为。请记住这一点,如果打算将软件维护更长的时间,则只需获得一次有效的可执行二进制文件即可。但是我添加了一个更好的解决方案

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Swift中使用函数参数名称

在函数名称中使用单词“ is”

在C标准库函数名称中,“ f”代表什么?

如何使用libclang检索标准函数名称?

在C ++中使用所有默认参数调用函数时,请使用参数名称

在表达式中使用函数名称的DataFrame eval

如何在MATLAB中使用动态函数名称?

在Haskell中使用泛型列出构造函数名称

无法在Laravel中使用某个单词作为函数名称

在函数中使用未经授权的参数名称

c如何使用函数名称评估函数指针

在C中使用python中的正则表达式获取函数内容和函数名称

即使不包含标头,也无法对全局变量使用标准库函数名称

如何使用 C 转储 PE 导出函数名称?

在PHP中使用函数名称作为无关类的名称可以吗?

获取python标准库函数名称列表

在 C++ 的命名空间中使用函数名?

C函数名称或函数指针?

在Sass中使用函数将返回包含函数名称而不是结果的字符串

C标准库中的函数可以在C ++中使用吗?

tcc:在汇编代码中使用C标准函数

我想在其中包含整数名称的属性中使用聚合函数

在函数中使用字符串作为参数名称?

在void函数和主程序中使用相同的参数名称

您希望在构造函数中使用哪些参数名称?后缀,前缀还是其他?

在javascript中使用原型时设置函数名称(用于记录)

如何在Python中使用用户输入生成动态函数名称并调用它

技能函数名称获取当前设计中使用的主子布局单元的列表

在嵌套函数中使用相同的参数名称会导致意外输出