• ベストアンサー

組み込みソフトってなんですか?

コンピュータ業界で営業をし始めた新人です。 プログラマーの皆様には簡単な質問かもしれないのですが・・・ 組み込みソフトってC言語の使い方を知っていれば開発できるものなのですか? それとも、C言語がどうやって作られていて、その中身がどうなっていて、 ということまで知っていないと開発できないものなのでしょうか? それと、この際ぜひ教えていただきたいのですが、 (1)C言語のもとになっているような言語というのはあるのでしょうか? (2)C言語にバグがあるってことはあるのでしょうか? 誰かわかりやすく教えてください。よろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

「組み込みソフト」とは「組み込みプロセッサ上で動作するソフトウェア」の ことを指しています。 で、組み込みプロセッサって言うのが、 一般的に知られている、ペンティアムのようなものではなくて、 電子レンジやDVDプレイヤーなどに入っている小さなプロセッサのことです。 質問の本題ですが、 C言語で開発できるかどうかは、そのプロセッサ次第です。 そのプロセッサ用のコンパイラがあればC言語で開発できますし、 コンパイラがなければ、マシン語で書かなきゃいけません。 組み込み用として、実績のあるプロセッサ(ARMなど)ならコンパイラがあると思いますが、 自社で開発中のプロセッサということでしたら、ない可能性が高いと思います。 仮にコンパイラがあったとして、話を進めますが、 (1)(2)に関しては、意識する必要はないです。 どこかにバグがあるとしたら、コンパイラに問題があることがほとんどです。 C言語がどうなっているかよりも、どういうプロセッサを使っているのかを、 考えた方がいいと思います。 例えば、関数呼び出しのオーバーヘッドは?ループは何重までできる? みたいなことの方が重要です。

loveandpeace
質問者

お礼

いまさらと思うかもしれないですが、コンパイラってマシン言語に直すことだったんですね。すばやいお答えありがとうございました。

その他の回答 (1)

  • ykkw_2001
  • ベストアンサー率26% (267/1014)
回答No.2

>組み込みソフトってなんですか?  機器に組み込みで、専用の機能を実現するソフトです。 たいていはわれわれの身の回りで、意識されることなく働いています。たとえば、自動車には、たくさんの組み込みソフトが「組み込まれて」います >組み込みソフトってC言語の使い方を知っていれば開発できるものなのですか? 8割がたは、可能です。 あとの2割は、↓の方がおっしゃるように、「そのプロセッサに対応のCコンパイラがない場合」「Cコンパイラでは実現できないものをつくる場合」「機器独特の特性を知らないとできない場合」です。たいていアセンブラは、ありますが、まれにマシン語で書きこむことがあります。 Cコンパイラを使う上では、その中身までは、まず必要ないですが、より高性能なもの、コンパクトなものを作る場合、中身を知っていると有利です。 (1)「C言語のもとになっている」の意味があいまいですので、回答できません。 (2)C言語(Cコンパイラ)にも、バグはあります。 Cコンパイラもひとつのプログラムで、人間が作ったプログラムですから。

loveandpeace
質問者

お礼

よく考えたら計算機なんかも組み込みソフトがなければ計算できないですよね。説明がわかりやすくてうれしかったです。ありがとうございました。

関連するQ&A