構造体コピー、代入か memcpy か? C/C++ 組み込みソフトウエア開発現場の設計判断を考察する

こんにちは。スーパーソフトウエア東京オフィス 技術部の加藤です。
組込みソフトウェアの開発現場では、限られたメモリやCPU性能の中で動作させる必要があり、さらに製品として高い信頼性が求められます。そのため、例えば特定のマイコンやセンサー、周辺機器の組み合わせといった実際のハードウェア環境によって、C言語のあいまいな仕様やコンパイラの違い(処理系依存)が、そのまま予期せぬ不具合の原因になることも珍しくありません。

今回は「構造体のコピー」にまつわる現場のルールに着目し、なぜ x = y; のような代入式が禁止され、memcpy(&x, &y, sizeof(x)); の使用が推奨されるケースがあるのか、具体例と技術的な背景から解説してみたいと思います。

 

本記事の続きはこちらをご覧ください
https://note.com/ssltokyo_tech/n/nfe6e1fc561c3

 

 

スーパーソフトウエアの採用情報

あなたが活躍できるフィールドと充実した育成環境があります

blank
blank