- 締切済み
UNIX/Cについて
今度仕事の都合でUNIX/Cでのプログラミングを行うことになったんですが、 C言語とUNIX/Cの違いがよくわかりません。 C言語を知っていれば、UNIX/Cはできるんでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- pikacchu
- ベストアンサー率44% (11/25)
こんにちは。 簡単に言うと皆さんが仰っている様に、あくまでC言語に変わりありません。 ただし、使用するOS、コンパイラによりシステムコール(ライブラリ関数)に若干の違いが生じてきます。ですので、madmanさんのアドバイスにある通り環境に応じた情報を収集して下さい。 また、コンパイルオプションが異なるところも要注意です。 余談ですが、昔MS-DOSのプログラムを作成していた頃、ワード境界をコンパイラによって無視させて動かしていたものを、そのままのソースをSolarisのSPARCompilerでコンパイルし、実行したとたん・・core dumpしてしまいました。あくまで実行速度重視のため、ワード境界を無視したアクセスは論外と言うことでしょうか。。。。
- madman
- ベストアンサー率24% (612/2465)
UNIX/CはC言語です。 もともとUNIXのOSを書くために生まれた言語です。 これが世に広まった言語がC言語です。(K&R、ANSICの違いは別にして..) VC等はC言語からすると、かなり異なります。 基本は同じで、関数やライブラリが異様に多いです。 これになれていると、ちょっと、大変かもしれませんが。 また、本を買う場合は、OSの種類もさることながらバージョンの違いで異なることもあります。(linuxなどは、バージョンが変わるとカーネルも変わったりします) 開発のOSにあった本を購入することをお勧めします。
基本的には、C言語を知っていれば、UNIX/Cもできますヨ。 言語そのものには、基本的には何ら問題ないと思います。 しかし、一点だけ気をつけたほうが良い事があります。 それは、コンパイラです。 一般的に、C言語でプログラムを記述作成した後は、コンパイル(モジュール形式へ置換え)します。 その際、使用しているUNIX-OSの種類によって、コンパイルの方法が代わってきます。 また、リンクするライブラリなんかも、微妙に代わる場合があります。 コンパイラに関する仕様などは、お使いのOSのコンパイラを購入したときについている マニュアルなどをよく読まれる、あるいは、本屋で参考書などをご購入される事をお勧めします。