大家好,谢谢你的回复。@ NIKOLYAYPO:我会使指针波动,但这必须等到明天,因为我目前无法访问源代码。@ DUO090001001:对不起,我无法检查我的堆栈是如何配置到明天。然而,问题是使用MPLABX的默认设置。TestPtR的介绍仅用于调试目的。在第一个版本中,我直接通过了数组。下午,我做了进一步的研究。我检查了调用方中的TestPtR的大小和被调用方的PARAM2的大小,使用SIZEOFE()。调用方中的siZeof(TestEOF(and;SOMDEATAARSART(0)))是C中的1个sisiof(PARAM2)。艾莉2岁,这是个问题!这也解释了为什么PARAM3的值在PARAM2的低字节中结束。调用方总共传递了3个字节,但是被调用方期望4个字节,因为它们有不同的意见,指针应该是多大的。我仔细检查了XC8手册,第5.4.5页关于PoTr.OK,有不同大小的指针。但是,XC8应该根据上下文确定每个指针的正确大小。我还检查了汇编列表文件中的指针列表(我明天可以提供)。列表确认TestPtR的大小是1字节,PARAM2是2字节。奇怪的是,列表确认PARAM2C。一个指向一个数组,那么为什么XC8生成不同大小的指针?好了,现在就这样。也许你们中的一些人已经知道我做错了什么?再见,卢格
大家好,谢谢你的回复。@ NIKOLYAYPO:我会使指针波动,但这必须等到明天,因为我目前无法访问源代码。@ DUO090001001:对不起,我无法检查我的堆栈是如何配置到明天。然而,问题是使用MPLABX的默认设置。TestPtR的介绍仅用于调试目的。在第一个版本中,我直接通过了数组。下午,我做了进一步的研究。我检查了调用方中的TestPtR的大小和被调用方的PARAM2的大小,使用SIZEOFE()。调用方中的siZeof(TestEOF(and;SOMDEATAARSART(0)))是C中的1个sisiof(PARAM2)。艾莉2岁,这是个问题!这也解释了为什么PARAM3的值在PARAM2的低字节中结束。调用方总共传递了3个字节,但是被调用方期望4个字节,因为它们有不同的意见,指针应该是多大的。我仔细检查了XC8手册,第5.4.5页关于PoTr.OK,有不同大小的指针。但是,XC8应该根据上下文确定每个指针的正确大小。我还检查了汇编列表文件中的指针列表(我明天可以提供)。列表确认TestPtR的大小是1字节,PARAM2是2字节。奇怪的是,列表确认PARAM2C。一个指向一个数组,那么为什么XC8生成不同大小的指针?好了,现在就这样。也许你们中的一些人已经知道我做错了什么?再见,卢格
举报