Windows用のCコンパイラ?[閉まっている]


124

Cコンパイラとしてgccを使用してLinuxで問題なく作業していますが、Windowsソリューションが必要です。何か案は?BloodshedのDev-C ++を見てきましたが、もっと多くのオプションを探していました。


2017年に導入されたLinux用のWindowsサブシステムを確認してください。これにより、gccなどのネイティブLinuxツールをWindows上で実行できます。参照:docs.microsoft.com/en-us/windows/wsl/install-win10、および howtogeek.com/249966/…–
Evan

回答:


79

WindowsでGCCを使用するには、MingW廃止)またはその後継のMingw-w64をダウンロードします


1
stackoverflow.com/questions/29205033/…-しかし、WindowsでMinGWを使用しても、LibVLCおよびGstreamerを処理する問題は解決されません。MinGWを使用すると、実行可能ファイルがクラッシュします。より良い解決策はありますか?

1
mingwは素晴らしいプロジェクトですが、Windows execをコンパイルしたいときに適していませんでした。Linuxで。
Vijay Kumar Kanta 2015年

36

Win32をターゲットにしたい場合は、MicrosoftからVisual C ++ Express Editionを直接入手できます。それ以外の場合、MinGWまたはlcc。


3
Visual Studioは優れていますが、クラスでlinux / gccを使用している場合は、おそらく最良の選択肢ではありません。
Joel Coehoorn、2008

1
問題は、CとC ++が異なる言語であることです。Cコードは、C ++では常に機能するとは限りません。
tloach

9
Visual C ++にもCモードコンパイラがあると思います。
Alex M

4
Stroustrupはそれをここで明確にします:public.research.att.com/~bs/bs_faq.html#C-is-subset 最悪の部分は、charsとintのsizeof()の不一致に加えて、C ++で追加されたキーワードだと思います。
Alex M

17
@Richardがコメントで言ったように:VC ++にはC99機能がありません。
jfs

23

GCCはユビキタスです。何十ものコミュニティーの何千人もの人々から信頼され、よく理解されています。

Visual Studioは、おそらくこれまでに開発された最高のIDEです。その下には素晴らしいコンパイラがあります。ただし、厳密にはWindowsのみです。

プレイしているだけなら、無料でGCCを入手できます。複数のプラットフォームが心配な場合は、GCCです。本格的なWindows開発について話している場合は、Visual Studioを入手してください。


現在Visual Studio Code、多かれ少なかれ同じ機能を持つクロスプラットフォームのものが存在します。
Dr_Zaszuś

19

常にcygwin経由でgccを使用できます。


13
これはあなたのアプリをCygwin DLLにバインドします。これは私の意見では本当にイライラします。
Alex M

私は同意しますが、アプリケーションにインストーラーがある場合は、dllをバンドルできます。
UnkwnTech 2008

13
cygwinでコンパイルする場合は--mno-cygwinオプションを使用します。これにより、MinGWバイナリがコンパイルされます。Cygwin DLLは必要ありません。
コリン、

5
-mno-cygwinはサポートされなくなりました-プラットフォームに適したMinGWクロスコンパイラパッケージを代わりにインストールしてください
Christoph

17

Windows用のもう1つの無料のCコンパイラがあります:PellesC。

Pelles Cは、WindowsおよびWindows Mobile用の完全な開発キットです。特に、最適化Cコンパイラ、マクロアセンブラ、リンカー、リソースコンパイラ、メッセージコンパイラ、makeユーティリティ、およびWindowsとWindows Mobileの両方のインストールビルダーが含まれています。また、ダイアログ、メニュー、文字列テーブル、アクセラレータテーブル、ビットマップ、アイコン、カーソル、アニメーションカーソル、アニメーションビデオ(音声なしのAVI)用のプロジェクト管理、デバッガ、ソースコードエディタ、リソースエディタを備えた統合開発環境(IDE)も含まれています。バージョンとXPマニフェスト。

URL:http : //www.smorgasbordet.com/pellesc/


12

私は個人的に、コードブロックIDEで MinGW(Bloodshedが使用するもの)の使用を検討しています。

Digital Mars C / C ++コンパイラの使用も検討しています。

どちらも評価されているようです。


Digital Mars C / C ++は以前から存在していて、うまく機能しています。ただし、ライブラリはあまり一般的ではないオブジェクトファイル形式を使用しているため、ライブラリのリンクに関する問題が発生します。ソースコードを取得できる場合は、それほど問題ではありません。また、使用したことはありませんが、ファイル形式変換ツールがあります。
BCS

8

より良いIDEでMinGW GCCに付属しているCode :: Blocksを試すことができます!私はそれを使用しましたが、C / C ++用のフリーウェアIDEとしてはあまりにも優れています。


@zeboidlund、そしてwinxp後のバージョンは何ですか?
パチェリエ2017

8

GCCは厳密にはLinux固有のコンパイラではありません。その標準に準拠したc / c ++コンパイラーであり、私はWindowsプログラムで日常的に使用しています。他のものに慣れるまで使用するのがおそらく最善です。

GCCのMinGWディストリビューションを使用することをお勧めします。これは、標準ライブラリなどを使用して、プログラムをネイティブにWindows用にコンパイルします。

IDEを探している場合、2つの推奨事項があります。Visual StudioはMicrosoftバージョンであり、問​​題がありますが、優れています。が、コードを操作するための IDEです。ただし、もう少し軽量なものを探している場合は、CodeBlocksもかなり優れており、基本的には、インストールしたすべてのコンパイラー(いくつかの形式のGCCおよびVisualに付属するMicrosoftコンパイラーを含む)を使用できるという追加の利点があります。 Studio)、他のIDEからプロジェクトファイルを開くことができます。さらに、Linux上でも動作するので、その移行を自分でさらに簡単にすることができます。

私は個人的にGCCを好みますが、それは私だけです。Microsoftソリューションが本当に必要な場合は、VSが最適です。


7

MinGWはWindowsのgccを直接変換したものですが、LCCやバニラc(多かれ少なかれ)をIDEでチェックアウトすることもできます。Pelles Clccに基づいているようで、やや良いIDEを持っていますが、私は個人的には使用していません。もちろん、無料のMSVC のExpress Editionは常にありますが、それはあなたの要求です。


6

ほとんどの大学では、Microsoft Dreamsparkにアクセスできます。

クラスでGCC / Linuxを使用している場合は、Ubuntuをインストールしてください。WindowsはC開発にとってひどいプラットフォームです。


16
Windowsはすべての開発にとってひどいプラットフォームです。それを修正しました。
notbad.jpeg 14年

4
これはVisual Basicの最良のオプションです。それを否定することはできません。
rlms 2014

1
@sweeneyrod:公平に言うと、VBを使用してWine用のアプリを開発するのはかなり良いでしょう。
マットジョイナー2015年

大学を通じてアクセスするものの問題は、授業が終わった後、あなたが一生懸命に習得したスキルを働かせる方法がないということです。
richard1941

@ richard1941:大学では、クラスで学んだテクノロジーを正確に業界に適用するつもりはありません。
Matt Joiner

5

実際にCを実行している場合は、C ++ではなくCコンパイラを使用するように注意してください。CのほとんどのプログラムはC ++コンパイラを使用して動作しますが、問題が発生する可能性のある十分な違いがあります。cygwinを介してgccを使用することを提案する人々に同意します。

編集:
http://en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2Bは、いくつかの大きな違いを示しています


「十分な違い」の詳細について詳しく教えてください。
マーク・


2
どのC ++コンパイラもCをコンパイルします。通常、コンパイラモードはファイル名拡張子に基づいて自動的に選択されますが、すべてのコンパイラにはファイル名に関係なくCまたはC ++モードを強制するオプションもあります。
マイケルバー



3

私はこのパーティーに遅れましたが、Windowsの将来のCの人々にとって、Visual StudioはC99ではなくC90をターゲットにしています。これは、* nixで得られるものです。現在、Cygwinと並行してSublime Text 2を使用することにより、Windows上のC99をターゲットにしています。



1

CはC ++ではないことを指摘するコメントがいくつかあります。それは事実ですが、どのC ++コンパイラもCをコンパイルすることも事実です。通常、コンパイラモードはファイル名拡張子に基づいて自動的に選択されますが、すべてのコンパイラにはファイル名に関係なくCまたはC ++モードを強制するオプションもあります。

したがって、gcc、VC ++ Express、Digital Marsなど、最も使いやすい無料のC ++コンパイラを選択してください。最高のemacs、vim、VC ++ Express、Code :: Blocks、Bloodshedなど、好きなIDEを使用してください。

これらのツールはどれも、学習には十分すぎるほどです。個人的には、Windowsについて質問しているので、VC ++ Expressを選びます。これは素晴らしいIDEであり、無料で、Cプログラムを問題なくコンパイルできます。


1
経験から言えば、VCは恐ろしいCコンパイラです。存在する現代的なものはすべてVCで遅れをとっています。C ++にとってそれは素晴らしいです... Cにとってそれは恐ろしいです。
zeboidlund、2012

0

Visual C ++ Expressは、コンパイラーが付属するWindows用の優れた無料のIDEです。

コマンドラインソリューション全般、特にgccに慣れている場合は、MinGWまたはCygwinの方が適し ています。どちらも無料です。


0

それはあなたがクラスで使用しているものに帰着します。

ラボと割り当てがLinuxにある場合は、おそらくMinGWソリューションが必要です。Windowsの場合は、Visual Studio Expressを入手してください。


0

学校からVisual Studio Student Additionの無料版を入手できませんか?ほとんどの大学には、学生に無料ソフトウェアを提供するプログラムがあります。


1
いいえ、彼は正しいです。「Dream Spark」と呼ばれる特別なプログラムがありますが、私がそんな卑劣なMicrosoftのものをサポートするわけではありません。
マットジョイナー

0

BloodshedのDev-C ++ですか?これは、MinGWのWindows用gccを舞台裏コンパイラとして使用する、C ++向けの優れたビジュアルIDEです。プロジェクトはしばらくの間放棄されています(私の意見では、C ++ IDEを開発するためにDelphiを使用することは、開発者の注意を引くために実行するのは非常に愚かなことです)。 GPLライセンスのほか、最新のものを使用します。


0

私はBloodShedのDEV C ++、CygWin、またはVisual C ++ Expressを使用しています。これらはすべて無料で機能します。私にとっては、DEV C ++が最も効果的で、風変わりではないことがわかりました。各コンパイラには独自の癖と違いがあります。いくつか試して、最も使いやすいものを見つける必要があります。また、DEV C ++によってエディターで使用されるフォントを変更できるという点も気に入りました。私はProggy Programmingフォントが好きです!


-1

Windows C ++コンパイラが機能する必要があります。

また、MinGWも確認してください。


6
C!= C ++。すべてのCコードがC ++でコンパイルされるわけではないというような違いがあります。
2008
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.