打印
[技术讨论]

为什么会出现这种情况:函数没有定义,编译却不出错

[复制链接]
1243|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 123456az 于 2024-7-20 19:53 编辑

目标芯片:BAT32G139芯片;开发环境:keil5。
如图0,函数INV_Zero_Switch(),想看看它的功能,于是右键“Go to definition...”,结果如图1报错,说是没定义,那为什么编译能通过呢?
做了搜索,这个函数在整个工程中确实只在头文件里做了声明,在其他地方没有定义。

然后,我在相同位置处声明、调用了一个INV_Zero_Switch1()的函数,如图2,但是这样编译就会报错。

找了两天原因了,快崩溃了。想问问各位大神,是不是有什么我不知道的高级机制,可以绕开函数定义啊?

有老哥分析可能是在.lib里定义的,后分析确实是在.lib文件里,感谢论坛各位大牛。



0.jpg (224.27 KB )

0.jpg

1.jpg (39.54 KB )

1.jpg

2.jpg (226.31 KB )

2.jpg

使用特权

评论回复
评论
qintian0303 2024-7-21 15:04 回复TA
go to 有时候不准,经常会出现无法跳转的情况 

相关帖子

沙发
LcwSwust| | 2024-7-20 09:39 | 只看该作者
本帖最后由 LcwSwust 于 2024-7-20 09:41 编辑

也许定义在库里,某个lib文件里,能用但看不到代码,好像printf也是。

使用特权

评论回复
板凳
zchong| | 2024-7-20 10:28 | 只看该作者
调戏他啊,单步,看看跑哪去了

使用特权

评论回复
地板
春风路过| | 2024-7-20 11:46 | 只看该作者
就是为了对付你这号人所以人家故意搞了这一出。别想了,你看不到。

使用特权

评论回复
5
春风路过| | 2024-7-20 12:37 | 只看该作者
本帖最后由 春风路过 于 2024-7-20 15:49 编辑

大赞。

使用特权

评论回复
6
春风路过| | 2024-7-20 12:38 | 只看该作者
没有完整源代码的经典案例,值得推荐,你值得拥有

使用特权

评论回复
7
春风路过| | 2024-7-20 12:38 | 只看该作者
没有完整源代码的经典案例,值得推荐,你值得拥有

使用特权

评论回复
8
coody| | 2024-7-20 13:59 | 只看该作者
应该是宏定义,我也经常用带括号的宏定义,看着像函数,其实不是。

使用特权

评论回复
9
東南博士| | 2024-7-20 16:14 | 只看该作者
有可能是lib,也有可能是其他定义;跟踪一下跳转 应该可以发现端倪

使用特权

评论回复
10
春风路过| | 2024-7-20 17:37 | 只看该作者
我不能告诉楼主这样的人如何做到的,但是希望各位高手从案例中发现保护知识产权的好办法。那就是可以编译通过,没问题,哈皮。但是关键函数要删掉!

使用特权

评论回复
11
123456az|  楼主 | 2024-7-20 19:20 | 只看该作者
本帖最后由 123456az 于 2024-7-20 19:41 编辑
春风路过 发表于 2024-7-20 17:37
我不能告诉楼主这样的人如何做到的,但是希望各位高手从案例中发现保护知识产权的好办法。那就是可以编译通 ...

你如果知道问题在哪就说,我很感激感谢。不知道就闭上你的大臭嘴,一口一个“你这样人”、“你这号人”,用得着你在这叭叭地狂犬吠日?你看看楼上几个老哥的回复哪个不比你逼逼的有价值?我在这讨教问题碍着你啥事了?知道什么叫“你行你上,不行别逼逼吗”?

使用特权

评论回复
评论
21电子网审核员 2024-7-20 23:11 回复TA
为构建和谐、法治、健康的网络环境,维护论坛社区秩序,保障论坛社区用户合法权益,避免引起争端和冲突讨论相关话题敬请理性发言。 
12
123456az|  楼主 | 2024-7-20 19:23 | 只看该作者
本帖最后由 123456az 于 2024-7-20 19:54 编辑
東南博士 发表于 2024-7-20 16:14
有可能是lib,也有可能是其他定义;跟踪一下跳转 应该可以发现端倪

感谢,确实是这样的

使用特权

评论回复
13
123456az|  楼主 | 2024-7-20 19:32 | 只看该作者
LcwSwust 发表于 2024-7-20 09:39
也许定义在库里,某个lib文件里,能用但看不到代码,好像printf也是。

感谢哟,但是我整个工程的各个文件夹里就没有.lib文件诶

使用特权

评论回复
14
春风路过| | 2024-7-20 19:50 | 只看该作者
123456az 发表于 2024-7-20 19:20
你如果知道问题在哪就说,我很感激感谢。不知道就闭上你的大臭嘴,一口一个“你这样人”、“你这号人”, ...

哈哈哈哈,果然没看错你。我回复是发现这样的搞法值得学习呀,就得这么着!

使用特权

评论回复
评论
21电子网审核员 2024-7-20 23:12 回复TA
为构建和谐、法治、健康的网络环境,维护论坛社区秩序,保障论坛社区用户合法权益,避免引起争端和冲突讨论相关话题敬请理性发言。 
15
丙丁先生| | 2024-7-22 08:19 | 只看该作者
CTRL+V定义的函数名,Ctrl+F搜索函数名定义文件位置,注释掉重复定义。

使用特权

评论回复
16
LcwSwust| | 2024-7-22 10:14 | 只看该作者
123456az 发表于 2024-7-20 19:32
感谢哟,但是我整个工程的各个文件夹里就没有.lib文件诶

麻烦楼主把工程发上来,大家一起研究学习一下呗?

使用特权

评论回复
17
gyh974| | 2024-7-22 11:41 | 只看该作者
把项目分享一下,我也想学习一下怎么做到的,这感觉是对付黑心老板的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

5

帖子

0

粉丝