硬汉嵌入式论坛

 找回密码
 立即注册
查看: 904|回复: 4
收起左侧

未声明的函数调用,传入参数的值错误,是什么原理?

[复制链接]

5

主题

40

回帖

55

积分

初级会员

积分
55
发表于 2023-8-9 15:32:24 | 显示全部楼层 |阅读模式
今天使用MDK调试程序,芯片是RT1052,优化等级0,版本5.36,a.c中调用b.c的函数func(int x,int y,float z),这个函数没有声明函数原型,也没有包含b.c的头文件,编译、下载成功后,调试的时候发现调用func(10,20,100.0)函数,传入的100.0值为0,x,y值正常。这个原因是啥呢。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2023-8-9 16:49:54 | 显示全部楼层
如果声明后是不是就正常了。
回复

使用道具 举报

5

主题

40

回帖

55

积分

初级会员

积分
55
 楼主| 发表于 2023-8-10 08:52:52 | 显示全部楼层
eric2013 发表于 2023-8-9 16:49
如果声明后是不是就正常了。

对的,这种现象在MDK的手册上有说明吗硬汉老师
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2023-8-10 09:04:29 | 显示全部楼层
爱喝柠檬水 发表于 2023-8-10 08:52
对的,这种现象在MDK的手册上有说明吗硬汉老师

遇到过类似的。

我是C库的一个头文件没加,调用了对应的函数,发现实际下载后不起作用。
回复

使用道具 举报

22

主题

66

回帖

132

积分

初级会员

积分
132
发表于 2023-8-10 15:31:22 | 显示全部楼层
我也遇到过 用atoi函数,只报了警告 但是转换的结果是一个错误值,加了头文件就正常了 不知道为啥
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 05:36 , Processed in 0.246504 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表