gpt4 book ai didi

c - 是否可以在链接期间触发#warning?

转载 作者:行者123 更新时间:2023-11-30 16:48:33 24 4
gpt4 key购买 nike

我正在用 C (gcc) 编写一些模块,这些模块将调用模块外部的函数。出于测试目的,我实现了仅打印其参数的虚拟函数。然后其他人将实现真正的功能。现在我将它们实现为弱符号,以便它们可以在链接时被“真实”函数覆盖。有没有一种方法可以让我在链接弱符号时看到警告?(例如编译时的#warning)我想知道何时未实现特定函数并且链接了虚拟函数相反。

我已经知道替代方案 - 在模块初始化期间传递函数指针结构并在模块内使用函数指针,使用大量 #ifdef 或修改构建过程以仅链接一个版本。

最佳答案

你可以使用一些#pragma message海湾合作委员会指令:

/* dummy foo function is just for testing purpose, so is only defined in debug version. */
#ifdef _DEBUG

/* foo is your dummy function for testing */
int foo()
{
#pragma message "Warning: using dummy version of foo function"
return 0;
}
#endif

关于c - 是否可以在链接期间触发#warning?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42920917/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com