• ベストアンサー

C言語の勉強が必要?

私は入社時に1ヶ月C言語の研修を受けましたが、 実際にプロジェクトとして大きなプログラムを組んだ経験はありません。 その後1~2年Visual Basic、ロータスノーツなどでアプリケーション 作成に携わりましたので、ロジックについては理解しているつもりです。 現在はTurbo Linux上でApache + TOMCAT + PostgreSQLで Webアプリケーション作成の一部を担当しています。 CUIでの操作、ソースからApacheなどのインストール・設定は できるのですが、では ./Configure → make → make install が一体何をしているのかと云うと、 「Makefileを作って、コンパイルして、インストールして」 程度の言葉しか理解しかしていません。 Linuxではこれらの作業をするのが当たり前ですが、 私はマニュアルに書かれた手順どおりに操作するだけで、 実際にコンパイル・(共有)ライブラリ・シンボル・モジュール…、 これらがどのように関わり合って動いているかよく分かっていません。 上記についてしっかり理解するためには C言語の勉強をするべきなのではないか、と思うのですが、 どんな本・サイトを使って勉強するのが良いでしょうか?

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

  • ベストアンサー
  • me_no_car
  • ベストアンサー率24% (22/90)
回答No.2

「プログラムはなぜ動くのか?」という書籍があるので それを読むことをお勧めします。 C言語を学んでもあまり意味はないでしょう。 ただUnixやLinuxでC言語で開発しているプログラマはその辺の 話を理解していないとMakefileを記述できないので C言語で開発プログラマその辺の事を知っている人は多いのでしょう。

参考URL:
http://software.nikkeibp.co.jp/software/backno/01kisobook2.html
satsat
質問者

お礼

ありがとうございます。 各章のタイトルを見た印象ですが、正にこれについて知りたかったのです。 プログラムとCPUやメモリ等との関係などがあやふやだったもので。 早速読んでみたいと思います。

その他の回答 (2)

  • nightowl
  • ベストアンサー率44% (490/1101)
回答No.3

この分野について知るにはオーム社から出ている 「Linkers & Loaders」という本の評判がいいようです。

参考URL:
http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=4-274-06437-9
satsat
質問者

お礼

ありがとうございます。 リンカとローダに限定した内容のようですが、 かなり詳細に述べられているようですね。 深い理解のためにもきっと必要な知識なのでは、と思います。 こちらも参考にさせて頂きます。

  • 100Gold
  • ベストアンサー率27% (284/1018)
回答No.1

C言語について勉強しても上記のことは分かりません。 Linuxプログラミングと題打っているような本を参照するか、リンカやライブラリ、gccに関して調査すれば分かるようになります。 プログラミング言語よりもシステムよりの知識ですが、周辺分野ですのであまり文献はありません。 いろんな本をところどころ参照したり、分からないところを聞いたりしながら調べるしかないでしょう。

satsat
質問者

お礼

ありがとうございます。 研修期間に学んだ記憶から、「Cと関係するのかな」と思っていました。 上司の1人がC言語・システムに精通しているので、都度都度聞きつつ 調べたいと思います。