gpt4 book ai didi

c - 指向 "undefined"函数的函数指针

转载 作者:太空宇宙 更新时间:2023-11-04 03:48:24 24 4
gpt4 key购买 nike

那么问题来了

我使用 gcc -c 编译了一些目标文件,并使用 obj-copy 克隆了它们。如果初始对象文件的函数名为 foo(),则克隆对象中的结果函数名称为:foo1(); foo2(); foo3();

然后,我将这 3 个对象与另一个包含 main 方法的文件链接起来,然后我可以通过使用例如foo2();。这个工作非常好!

但是,如果我尝试使用以下方法创建指向这些函数的函数指针:

functionPtr=&foo1;\\也尝试过不使用 &

然后,我得到:

错误:'foo2' 未声明(首次在此函数中使用)

有什么想法吗?这与链接有关吗?

最佳答案

foo2 必须在某个头文件中声明。您已经克隆了目标文件,但是 C 编译器仍然需要一些信息来告诉它有一个名为 foo2 的函数以及它的签名是什么。如果您在某处有原始 foo 的声明,只需复制一份并将名称更改为 foo2,并确保标题为 #include在你的源代码中。

关于c - 指向 "undefined"函数的函数指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22643379/

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