一般嵌入式开发使用的芯片都比较小巧,不适合运行C++代码,不是说不能用,而是C++代码同样的程序实际是比C要多的。
C++是面向对象的,成员函数的工作原理和普通函数不太一样,他的成员变量寻址全是偏移地址+基址。
也就是基地址加偏址,通过改变基地址,让函数操作不同对象,但偏地址都相同(这样相同的代码实现操作不同的对象成员变量),电脑的CPU是有支持基址加偏址的,在BX里存基地址,在SI里存偏址,一条指令就找到变量了。
而嵌入式芯片寻址要么立即数寻址,要么寄存器寻址,通常没有偏址+基址的方式,如果要实现只能软件去偏址+基址,运行更慢。
参考链接:
https://zhidao.baidu.com/question/751721393732512084.html
原文链接: https://www.cnblogs.com/chendeqiang/p/13321120.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/366941
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!