嵌入式工程师为何不用学习C++语言?

一般嵌入式开发使用的芯片都比较小巧,不适合运行C++代码,不是说不能用,而是C++代码同样的程序实际是比C要多的。

C++是面向对象的,成员函数的工作原理和普通函数不太一样,他的成员变量寻址全是偏移地址+基址。

也就是基地址加偏址,通过改变基地址,让函数操作不同对象,但偏地址都相同(这样相同的代码实现操作不同的对象成员变量),电脑的CPU是有支持基址加偏址的,在BX里存基地址,在SI里存偏址,一条指令就找到变量了。

而嵌入式芯片寻址要么立即数寻址,要么寄存器寻址,通常没有偏址+基址的方式,如果要实现只能软件去偏址+基址,运行更慢。

参考链接:
https://zhidao.baidu.com/question/751721393732512084.html

原文链接: https://www.cnblogs.com/chendeqiang/p/13321120.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    嵌入式工程师为何不用学习C++语言?

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/366941

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 下午5:11
下一篇 2023年3月2日 下午5:13

相关推荐