13

企業で使用されている現在の標準Cコンパイラを知りたいと思いました。私は次のコンパイラを知っていますが、学習目的でどれを使用するかわかりません。

  1. Turbo C
  2. ボーランドC
  3. GCC
  4. DJGPP

私は今Cを学び、K&Rの本を参照しています。

誰かが私にどのコンパイラを使用するかを教えてもらえますか?

4

10 に答える 10

20

GCCは、ほとんどの(正気の)人々が使用する標準で、最もよくサポートされ、最速のオープンソースコンパイラです。

于 2010-11-09T00:23:30.500 に答える
15

GCCは、GNUで標準になり、Linuxのターゲットであるという単純な理由から、リストした選択肢の中で最高のサポートを提供します。恐ろしいレガシーアプリケーションをサポートする以外に、他の3つを使用する組織はほとんどありません。

調べる可能性のある他のCコンパイラには次のものがあります。

于 2010-11-09T00:35:53.260 に答える
7

言語を学び始めている場合は、Clangのはるかに優れた診断が役立ちます。

(ジョブ)アプリケーションツールのセクションの見栄えを良くするために、GCC(およびおそらくVisual Studio)は知識を持っているとよいでしょう。

于 2010-11-09T00:27:22.297 に答える
3

使用していて、学習する予定のプラットフォーム、または将来の開発を計画しているプラ​​ットフォームによって異なります。

Windowsでは、標準のANSIC使用法をサポートするVisualStudio ExpressC++を使用できます。オプション2はCygwinです。これは、Linuxまたは他のUnixスタイルのOS(GCCを使用)で使用するものの多くを複製するライブラリおよびツールセットです。

Macでは、Cコンパイラ(GCCに基づく)を含む標準の開発ツールであるXCodeが必要になります。

多くのUnixタイプのシステムでは、OSベンダーに応じてccまたはgccになります。

あなたがお金を持っているなら、Intelのような有料のコンパイラのいくつかは例外的ですが、この時点でプログラミング技術を学ぶのにあまり役に立たないでしょう。

于 2010-11-09T00:41:02.120 に答える
2

私の意見では、GCCが最善の策であり、頻繁に更新され、多くのプラットフォーム(OSX、Linuxなど)で使用されています。

于 2010-11-09T00:24:35.143 に答える
2

GCC(Cを使用するまれな瞬間に使用します)またはICC(Intel Cコンパイラ)。ただし、ICCはAMDプロセッサで低速で実行されるコードを作成することで知られています。

于 2010-11-09T00:32:48.083 に答える
1

LINUXオペレーティングシステムを使用する場合、GCCが最適なコンパイラです。いくつかのコマンドラインオプションを使用して、GCCコンパイラで前処理、アセンブラ、リンカなどの各コンパイラステップを個別に分離できます。Cソースコードのコンパイルを段階的に簡単に分析できます。「GNUCCOMPILER(GCC)」に行くことをお勧めします。「CC」コマンドを使用できます。これは、GCCへのシンボリックリンクにすぎません。

于 2012-11-27T15:32:34.653 に答える
0

かつてNetwareの開発に使用されたOpenWatcomをお勧めします。IA-32のみをサポートしますが、うまく機能します。基本的なIDEと、基本的でありながら有能なプロファイラーが含まれています。本当のプログラマーのための何か:)

次に、x86-64をサポートするPellesCがあります。基本的なVCのようなIDEがありますが、サポートプログラムはほとんどありません。

私はこれらの2つが好きです。なぜなら、コンパイラーは有能であり、マニュアルを熟読したり、オプションが何を意味するのか疑問に思うことなく、すぐに作業を進めることができるからです。

于 2011-03-05T22:22:56.973 に答える
0

Windowsを使用している場合は、MinGWを使用するか、ほとんどの場合、Linux上のGCCでggoを提案しています。

もちろん、コマンドラインなので、Dev-C++やCode:: Blocks、Eclipse CDTなど、作業を簡単にするのに役立つIDEが見つかるかもしれません。

標準はなく、各コンパイラとそのライブラリは互いに異なります。

于 2013-11-03T10:16:53.817 に答える
-2

gccは最高で無料です。GNUに行きましょう!

于 2010-11-09T00:24:37.567 に答える