health 发表于 2026-1-31 00:47
哪个问题?我的技术水平和keil公司谁高吗?
这个问题有点幼稚,我一点没有与keil公司比较水平高低的意思 ...
谢谢你给出参考程序。你既然知道你“在编译器开发水平上,我的水平完全不能和keil比,可以说是0和100的区别”
那么在你的这个具体问题上,你为什么开口就说C251存在BUG?有没有可能是你的程序错误呢?
杨为民 发表于 2026-1-31 00:54
谢谢你给出参考程序。你既然知道你“在编译器开发水平上,我的水平完全不能和keil比,可以说是0和100的区 ...
我想我说的很清楚了,这段代码在x86,arm上运行正常,在C251上运行结果不对。
这么说也可以:这段程序对于C251来说是错误的程序。
到底是怎么错的,也一行一行说明白了。
health 发表于 2026-1-31 01:01
我想我说的很清楚了,这段代码在x86,arm上运行正常,在C251上运行结果不对。
这么说也可以:这段程序对 ...
同样一段C语言程序对于不同的C语言编译器其结果可能不一样,这就是个性问题,不是BUG。何况还有不同的CPU架构和C99、C++等标准的不同。
“这段程序对于C251来说是错误的程序”这个认识就准确了。如果你想知道为什么对C251是错误的以及怎么样写才能实现你的要求,你自己先把本贴的标题改了,不要说什么C251的BUG,具体的技术问题具体讨论,然后我告诉,也让大家有所收获。知错就改,善莫大焉
不好意思,我确实没什么问题想和你具体讨论的。
health 发表于 2026-1-31 01:25
不好意思,我确实没什么问题想和你具体讨论的。
上次那个写OS那个号称自己天下唯二,这里 又来一个自以为天下第一的,坚持称C251对这种简单问题处理是BUG
杨为民 发表于 2026-1-31 01:47
上次那个写OS那个号称自己天下唯二,这里 又来一个自以为天下第一的,坚持称C251对这种简单问题处理是BUG ...
你有点小人之心了,我绝对没有自以为天下第一,是你自以为别人都自以为天下第一。
感觉你好像很怕别人跟你抢天下第一称号。
我绝对没这个意思,你确实多虑了。
health 发表于 2026-1-30 22:47
说话别这么阴阳怪气行吗?
别在意,,杨老师一贯如此。
_奶咖君_ 发表于 2026-1-31 10:18
别在意,,杨老师一贯如此。
你来说说C251的编译结果(汇编代码和注释见10楼)存不存在BUG?
_奶咖君_ 发表于 2026-1-31 10:18
别在意,,杨老师一贯如此。
好的。
health 发表于 2026-1-30 22:44
简化后的完整演示代码
uint16_t xdata buf;
复杂的指针地址运算建议用huge类型指针,虽然效率低些,但不容易出错。
比如:void write(uint16_t huge *dst, uint16_t dat)