我在C中使用函数指针数组完成了它。指针被随机访问并用于调用它们的指向函数,该函数在WS2812B LED 灯条中运行独特的动画光图案[使用ADAFruit NeoPixel 库]。但是,我想对它进行OOP [对于 1,'因为 OOP 使设计新动画变得更容易]!
我在C++中尝试过,但已经有几十年了,所以我生疏了。这让我处于一个联系点——我是重新学习C++,还是以此作为最终学习Python的动力?
这就是为什么。这是什么:
由于这在内存不足的MCU环境中运行,我希望动画例程只占用所需的内存,然后在完成后释放该内存。所以,我想避免这样的事情:实例化一堆动画对象,并将它们加载到一个数组中,以便随机索引。这将一次将所有动画对象所需的内存总和塞进堆/堆栈——这将对 MCU 中可能存在的动画数量施加更大的限制[特别是因为 RAM 通常比 ROM 供应短缺/舞会]。
不,我想用更像指向“实例化”函数的指针来填充该数组,当被调用时,实例化一个选定的动画对象。然后,当该动画完成时,“删除”/刺激析构函数/等。所以内存被完全清除[即没有内存泄漏]。
我的C++实现充满了内存泄漏 [C++ 中没有内存管理] —— 不过,比我刚开始时要少得多,所以我正在变得更好 [有点蒙蒂点头,那里]。
那么......我是继续追求恢复我的C++辉煌[我曾经是“专家”],还是放弃C++并使用Python?唯一的转折点是:PYTHON能胜任吗?
好的,另一个引爆点可能是我对运算符重载的喜爱;)
顺便说一句:我目前使用的 MCU 是SeeedStudio XIAO,它是一个快速和铁质的小虫子,所以,即使 Python 比 C++ 更慢一点[因为额外的开销],不用担心 [太多?]。