这个不是大问题。
更难debug的是functional的编程方式,但mcu上可以选择还是基于procedural
approach写代码。
zero-cost abstraction本身不会影响可读性,相反可以改善可读性杜绝错误。
比如plot(x,y),x和y都是一个uint16,理论上你可以犯错误写成plot(y,x)。
rust可以不增加代价的封装成CoordX(x),CoordY(y),写反了马上就能检测出来,
这是我目前相当喜欢的特性。
当然zero-cost abstraction并不仅仅是这个用途,这个框架比较大难以一言而尽。
如果是meta programming确实就比较难调试了。但我在另一个基于rust的系统性项
目中用了一个基于meta programming写的parser,我发现也没我预想的那么糟糕。
rust的compiler还是相当给力并且友善的。
【 在 eggcar (eggcar) 的大作中提到: 】
: 还有一个问题,rust这种zero-cost abstraction,会不会导致debug很困难?
--
修改:lvsoft FROM 180.109.234.*
FROM 180.109.234.*