qfzou 发表于 2024-2-26 12:56:27

STC8A8K64D4程序移植到STC32G12K128中sprintf报错 | 已解决

今天将STC8A8K64D4程序移植到STC32G12K128中sprintf报错:

error C187: 'sprintf': size of actuals exceeds 'maxargs'
但程序在STC8A8K64D4中一直运行正常,不知道啥原因,如何解决。



按照报错的原因测试了一下发现
在STC8A8K64D4中对sprintf里的字段大小没限制
但在STC32G12K128中sprintf里的字段大小有限制

电子DIY小家 发表于 2024-2-26 14:05:41

把程序删到保留sprintf的最简洁的功能,发个压缩包上来我帮你看看

gentleman 发表于 2024-2-26 14:42:23

参数大小有限制的

选择的是large 模式吗


qfzou 发表于 2024-2-26 14:46:06

电子DIY小家 发表于 2024-2-26 14:05
把程序删到保留sprintf的最简洁的功能,发个压缩包上来我帮你看看

这个是打包的编译一下即可看到sprintf报错了

qfzou 发表于 2024-2-26 15:42:35

gentleman 发表于 2024-2-26 14:42
参数大小有限制的

选择的是large 模式吗

选择的是HUGE模式

gentleman 发表于 2024-2-26 18:25:26

qfzou 发表于 2024-2-26 15:42
选择的是HUGE模式


参数默认40字节,你的太大了


头部加#pragma maxargs (60)
不报错了
你看看功能是否正常






qfzou 发表于 2024-2-27 12:56:21

gentleman 发表于 2024-2-26 18:25
参数默认40字节,你的太大了




头部加了#pragma maxargs (60),果然没报错了,厉害!感谢!
页: [1]
查看完整版本: STC8A8K64D4程序移植到STC32G12K128中sprintf报错 | 已解决