我可以重新定义一个函数或检查它是否存在? [英] Can I re-define a function or check if it exists?
本文介绍了我可以重新定义一个函数或检查它是否存在?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个关于(重新)定义函数的问题。我的目标是有一个剧本,我可以选择定义一个函数或没有。
像这样的:
I have a question about (re-)defining functions. My goal is to have a script where I can choose to define a function or not. Like this:
void func(){}
int main(){
if (func)func();
}
和无功能,只需:
int main(){
if (func)func();
}
任何人的想法?
推荐答案
您可以使用GCC其脆弱的函数属性扩展做到这一点:
You can do this in GCC using its weak function attribute extension:
void func() __attribute__((weak)); // weak declaration must always be present
int main() {
if (func) func();
// ...
}
// optional definition:
void func() { ... }
这个工程,即使 FUNC()
在另一个.c文件或库中定义。
This works even if func()
is defined in another .c file or a library.
这篇关于我可以重新定义一个函数或检查它是否存在?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文