web-dev-qa-db-ja.com

KernighanとRichieのThe Cプログラミング言語を使用してCを学習するためのUNIX環境をセットアップするためのオプションは何ですか?

私は初心者プログラマーで、Javascript、jQuery、PHP)を試してきましたが、自分が何をしているかを深く理解していないと感じました。それで、JoelSpolskyの回答を読んだ後このサイトの質問(今は見つけられません!)に、私はそれを基本に戻して、Charles Petzoldの「コード」を読んで、KernighanとRichieのThe Cプログラミング言語に移動しようとしています。 UNIX環境ですが、Windowsシステムにしかアクセスできません。VMWarePlayerを介して仮想化されたマシンでUbuntu 12.04を実行し、ターミナルでコーディングを行いました。

Linuxディストリビューションを使用するのは、WindowsのUNIX環境でプログラミングするための唯一のオプションですか?また、UNIXでCでプログラミングを開始するための次のステップは何ですか。

6
br3w5

Linux in VMはUNIXを学ぶ最も簡単なオプションです。Ubuntuを実行している場合は、ターミナルを開いて次のように入力できます。

Sudo apt-get install gcc

そして、あなたはあなたのコンパイラを持っているでしょう。一般にDebianベースのディストリビューションは、ライブラリXがない場合、すでにリポジトリにあり、最小限の手間でapt-getできるため、開発が非常に簡単になります。

あなたの質問の他の部分について:いいえ、Linux VMは唯一の方法ではありませんが、始めるのが最も簡単です。FreeBSD/ Open Solaris /などをいつでもインストールできますが、最初のプランジにはお勧めしません。

最後に、システムの学習を強制したい場合は、ベアメタルにインストールしてVMを破棄できます。起動するにはデュアルブートをお勧めします。あなたはおそらくドライバ/構成の問題に遭遇し始めるでしょう:)そして最終的にすべてがどのように機能するかを学ぶ必要があります。

幸運を。

[〜#〜]編集[〜#〜]

いくつかのコメントを参照してください:MinGWとCygwinは、OPがUNIX/POSIXを学習するのに役立ちません。 OPは、彼女がUNIXでのCプログラミングに興味があることを明確に述べています。これは、UNIX固有のAPI、パターン、および問題を意味します。

12
MrFox

Linuxに移行したくない場合、または仮想マシンでLinuxを使い続けたくない場合は、 Cygwin を試してみてください。それは:

  • windowsにLinuxのルックアンドフィール環境を提供するツールのコレクション。

  • a DLL(cygwin1.dll)は、LinuxAPIレイヤーとして機能して実質的なLinuxAPI機能を提供します。

さらに重要なことに、これにより GNUコンパイラコレクション がWindowsで利用可能になります。同様のツールですが、開発者向けにもう少し調整されています MinGW 。含まれるもの:

  • GNUコンパイラコレクション(GCC)のポート。C、C++、ADA、Fortranコンパイラが含まれます。
  • Windows用のGNU Binutils(アセンブラー、リンカー、アーカイブマネージャー)
  • MS-WindowsでのMinGWおよびMSYS展開用のコマンドラインインストーラー(mingw-get)
  • コマンドラインインストーラー用のGUIラッパー(mingw-get-inst)

必要なものすべて、そしていくつか。

5
yannis

10.5以降のOSXは、公式にはUnixと見なされています。 Solaris は別のオプションです。どちらもVirtual Boxにインストールでき、どちらもGCCをコンパイラーとして含みます。 Windowsではcygwinを無視してください。それは価値があるよりも厄介であり、完全なUnix環境/エクスペリエンスではありません。

私はOSXマシンとWindowsマシンの両方でVirtualBoxを使用してLinuxをホストし( CentOS )、デュアルモニターセットアップとたくさんのRAMそれはあなたが使用している実際のマシンではないことを理解してください。

3
user7519