プログラミング言語としてCを使用するさまざまなレベルの組み込みプラットフォームがあります(もちろん、いつでもアセンブリ言語を使用できます)
「レベル」については、システムの内部SRAMおよびROMリソースレベルについて説明しています。
これらのプラットフォームは、リソースに制約がある場合があります(たとえば、一部の8051プラットフォームには128バイトのユーザーSRAMしかありません)。
このように少量のRAMで動的メモリ割り当てをサポートすることは無意味です。(新規/削除)またはCのmalloc
CからC ++への主な改善点の1つは、オブジェクト指向のパラダイムです。C ++は、メモリフットプリントが大きいソフトウェアに適しています
ただし、最大32 KBのサイズ制限がある組み込みファームウェアでは使用できません。(例:16ビットMCUプラットフォーム)
一般にCコンパイラよりも複雑なC ++コンパイラは必要ありません。(少なくともSDKプロバイダーはこれを行うことを気にしません)。
実際、32ビットARM7プラットフォームでC ++コンパイラを見つけることはほとんどできません。
複雑さだけの価値はない
一部の8051(8ビット):1MB ROM、128B RAM
TI MSP430(16ビット):32KB ROM、4KB RAM
ST Microelectronics ARM 32ビットCortex™-M3 CPUコア(STM32F103T4):16または32Kバイトのフラッシュメモリ6または10KバイトのSRAM