タダで始めるC/C++プログラミング for Windows

1. はじめに

Windows で C 言語や C++ 言語でのプログラムを作成するには以下のものが必要になります。

C/C++ コンパイラ

C/C++ のコードを記述したソースファイルから実行ファイルを生成する C/C++ コンパイラ (とリンカ) が必須です。

統合開発環境 (IDE)

C/C++ コンパイラとエディタさえあればプログラム開発はできますが,それだけではコマンドプロンプト (DOS 窓) でコマンドやオプションを入力しなければならず面倒です。ボタンを押すだけでコンパイルなどができる開発環境があると便利です。

テキストエディタ

統合開発環境にはソースをキーワードで色分け表示してくれるエディタが内蔵されているので必須というわけではありません。しかし,ちょっとソースファイルを見たい,とか,他人のソースを見ながらプログラミングしたい,などと言う場合にはテキストエディタを使うと便利です。

又,普段文章を書くときも,Windows 付属のテキストエディタ「メモ帳」より高機能で,Word や一太郎などワープロソフトより軽快なテキストエディタは便利です。

<このページの頭へ>

2. C/C++ コンパイラ

Microsoft C/C++ Compiler

マイクロソフト社が提供する C/C++コンパイラです。手に入れる方法はいくつかあります。

Microsoft Visual C++ 2008 Express Edition 日本語版

IDE です。詳しくはMicrosoft Visual C++ 2008 Express Edition 日本語版の項目を参照してください。

Microsoft Visual C++ 2005 Express Edition 日本語版

IDE です。詳しくはMicrosoft Visual C++ 2005 Express Edition 日本語版の項目を参照してください。

Windows SDK

マイクロソフト社が提供するWindows用ソフトウェア開発キットです。

詳しくはWindows SDKの項目を参照してください。

.NET Framework SDK

.NET アプリケーションのためのコンパイラやライブラリですが,C++コンパイラが付属します。

ただし制限事項があります。コンパイラには最適化機能がありません。静的リンクモジュール,C++ライブラリ,STLが付属しません。(つまり.NETでないC++プログラムの作成は難しいです。)

以下のサイトから必要なバージョン(2.0/1.1/1.0)の自分の環境に合った「再頒布可能パッケージ」「日本語 Language Pack」「SDK 日本語版」をダウンロードして順にインストールしてください。既に .NET Framework をインストールしている人は SDK のみ必要です。

Microsoft .NET Framework ダウンロード情報

.NET 3.0以降はPlatform SDKと合わせてWindows SDKとなっています。Windows SDKの項目を参照してください。

Borland C++ Compiler

ボーランド社が提供する C/C++ コンパイラです。手に入れる方法は次の2つです

Borland C++Compiler 5.5無償ダウンロード

バージョン 5.5.1。

2006年10月現在ユーザー登録の必要なくダウンロードが可能です。

コンパイラと標準ライブラリのセットです。VCLは付属しません。

欠点は,C++ としては古いコンパイラ (2000-02-16 に 5.5 公開,2000-08-31 に 5.5.1 にバージョンアップ) であり,STL への対応が弱いと言えます。

自動環境設定ツール setbcc があると環境設定が楽です。(Cpad を使うときは必要ありません。)

リソースエディタ & スケルトン生成ツール BCCForm and BCCSkelton もあると便利だと思います。

Turbo C++ Explorer 日本語版

バージョン 5.8。

RADツールです。詳しくは Turbo C++ Explorer 日本語版の項目を参照してください。

GNU Compiler Collection

Free Software Foundationによりオープンソースで開発されているコンパイラ群です。

GNU Compiler Collection (GCC) は C/C++ の他に Fortran,Java などのコンパイラも含みます。

MinGW [MinGW - Minimalist GNU for Windows]

MinGW は UNIX 用の C/C++ コンパイラの GCC を Windows に移植し,Windows ネイティブなプログラムを作成するためのヘッダファイルなどを整備するプロジェクトです。

サイトから MinGW-5.x.x.exe をダウンロードして下さい。Latest File Releases に無い場合には,SourceForge.net の [View ALL Project Files] から選んでください。

より UNIX 風に使いたい場合には,UNIX に似たコンソールを提供する MSYS (Minimal SYStem) も使うと良いでしょう。

Cygwin [Cygwin Information and Installation]

Cygwin は,Cygwin DLL (cygwin1.dll) を用いて Windows 上で UNIX 環境をエミュレートし,各種ツールを提供するものです。

「Cygwin 版の GCC を使う」と言うよりは「UNIX 環境を Windows 上で使う」際に GCC もあるという方が正確でしょう。Web で公開されている各種 Cygwin 版の UNIX ツールをインストールして使うことも出来ます。[参考 : Cygwin JE]

GCC のみを使う場合には MinGW 版と使い方は変わりません。Cygwin DLL を Windows のシステムディレクトリに入れておく必要があるだけです (が,これもインストールの際に終わっているでしょう)

コンパイルされたプログラムは Cygwin DLL が無いと動作しないので,配布するプログラムも GPL にする必要があります。自作プログラムの配布時には注意してください。

ただし,Cygwin DLL 独自の機能を使わないプログラムの場合,コンパイル時のオプションで MinGW と同様に Windows ネイティブなプログラムの作成も可能です。この場合は,GPL にする必要はありません。

サイトから setup.exe をダウンロードして下さい。ファイルのダウンロード,ダウンロードしながらインストール,ローカルインストールのいずれかを行うことが出来ます。

LCC-Win32

C コンパイラです。C++ は使えませんが,一部 C++ 的な拡張がされているようです。統合開発環境 Wedit,デバッガ,リソースエディタが付属します。

Watcom C/C++ [The Open Watcom Project]

IDE やリソースエディタも付いた C/C++ コンパイラ。製品版から Windows ライブラリと MFC を除きオープンソース化したもののようです。

Windows ライブラリとして MinGW を元にしたライブラリが付属します。

Shift_JIS なソースファイルもコンパイル時にオプション指定することで使用できます。

http://sybooks.sybase.com/wtc1100e.html でドキュメントが公開されています。

Digital Mars C/C++ compiler for Win32 [Digital Mars]

Digital Mars 社が提供する C/C++ コンパイラ。製品版から IDE を除いたもののようです。MFC や ATL も付属します。STL は STLport を使用。

日本では WanderSwan (Witch) の開発用に使っている人が多いらしいです。

Shift_JIS なソースファイルもコンパイル時にオプション指定することで使用できます。

LSI C-86 試食版 [LSI_Japan_HomePage / Vector]

エル・エス・アイ ジャパン社が提供する C コンパイラの体験版です。C++ は使えません。

試食版としての制限はスモールモデルしかコンパイルできない (64KB 以内のプログラムしか作成できない) ということです。Shift-JIS が使えます。

Light C 体験版 [多摩ソフトウエア]

多摩ソフトウエア社が提供する C コンパイラの体験版です。C++ は使えません。

体験版としての制限はスモールモデルしかコンパイルできない (64KB 以内のプログラムしか作成できない) ということです。Shift-JIS が使えます。

特徴的な機能としては,関数・変数・マクロなどの名前を日本語で付けることができます。

<このページの頭へ>

3. 統合開発環境 (IDE)

Microsoft Visual C++ 2008 Express Edition 日本語版

マイクロソフト社が提供する C/C++ コンパイラ付属の IDE です。無料ダウンロードが可能です。

Windows Platform SDKが付属します。別にSDKをダウンロードすることなくWindowsアプリケーションの開発が可能です。

MFC と ATL は付属しません。

Web インストールのほか,Visual Studio 2008 Express Edition の DVD イメージからのインストールからDVDイメージをダウンロードできます。

Microsoft Visual C++ 2005 Express Edition 日本語版

Visual C++ 2005 Express Edition のスクリーンショット

マイクロソフト社が提供する C/C++ コンパイラ付属の IDE です。無料ダウンロードが可能です。(無料期間は2005年12月から1年限定から変更になり無期限になりました。)

MFC と ATL は付属しません。

.NET でない Windows アプリケーションを作成する場合はWindows Platform SDKが必要です。Microsoft C/C++ Compilerの項目を参照してください。

Platform SDK を使うための環境設定方法は [Visual C++ 2005 Express Edition と Microsoft Platform SDK を一緒に使う] を参照してください。

Eclipse with CDT [eclipse.org / CDT]

Eclipse は Java で動作する IDE プラットフォームです。本来はJava用ですが,プラグインのCDT (C/C++ Development Tools) によりC/C++での開発が可能です。

基本的には GCC (Cygwin/MinGW) 用。

Eclipse DownloadsからEclipse IDE for C/C++ Developersという名前でCDT導入済みのEclipseがダウンロードできます。

NetBeans [ja: NetBeans 日本語サイト]

NetBeans は Java で動作する IDE プラットフォームです。本来はJava用ですが,各種言語への対応が進んでいます。

基本的には GCC (Cygwin) 用。

Turbo C++ Explorer 日本語版

ボーランド社が提供する RAD ツールの C++ 版です。無料ダウンロードが可能です。

独自のビジュアルコンポーネントライブラリ VCL が付属します。

インストールにはインストールキーが必要です。インストールキーを手に入れるには BDN (Borland Developer Network) に登録する必要があります。

BCC Developer [Jm HomePage]

BCC Developer のスクリーンショット

  • BCC 用
  • プロジェクト管理機能があり,複数のソースファイルを扱うことができます。
  • 関数一覧表示機能があります。
  • 実行ファイルだけでなく DLL とライブラリも作成できます。
  • マクロ機能
  • 日本語
CPad [きときと]

BCC Developer のスクリーンショット

  • BCC 用と LSI C-86 用がそれぞれあります。
  • 設定ファイル (BCC では bcc32.cfg, ilink32.cfg) を自動作成できる。
  • コンパイラ起動前に Path を通すので autoexec.bat の編集 (9x系) /環境変数の設定 (NT系) の必要がない。
  • インクリメンタルサーチができる。
  • 日本語
C 言語を始めよう ! [AOK's Home Page]
  • VC++ Toolkit 2003,BCC,LSI C-86 兼用。ボタンで切り替えて使うことができます。
  • 設定ファイル (BCC では bcc32.cfg, ilink32.cfg) を自動作成できる。
  • 関数のプロトタイプをステータスバーに表示する機能があります。
  • ソースコードを色分けした状態での HTML 出力機能があります。
  • 日本語
Visual Windows for BC++ [東海大学理学部物理学科素粒子理論・安江研究室]
  • BCC用。
  • プロジェクト管理機能があり,複数のソースファイルを扱うことができます。
  • C 言語標準関数のヘルプが付属。
  • WindowsAPI 関数と C 言語標準関数の関数名補完機能があります。
  • 日本語
WideStudio [WideStudio Home page]
  • 高機能な RAD ツール (ビジュアル・ウィンドウエディタ等による開発環境)
  • GCC-MinGW が付属
  • 独自のクラスライブラリ "MPFC" により,同じソースから Windows でも X でも動くプログラムの開発が可能。
  • Perl,Ruby,Python にも対応
  • 日本語
Relo
  • GCC-MinGW,BCC 用の IDE
  • 設定さえすれば VC++, Digital Mars C/C++ も使えるようです。
  • ダイアログエディタ付属
  • エディタは PHP の色分けにも対応し,web サイト作成のためのツールとしても使えます。
  • 日本語が使えます。(環境設定で日本語フォントを選択すること)
Code::Blocks
  • クロスプラットフォーム GUI ライブラリ "wxWidgets" で作られた IDE。
  • MinGW付属のインストーラパッケージあり
  • MinGWの他,MSVC++, Digital Mars C++ など多くのコンパイラに対応。さらにD言語(Digital Mars D)にも対応
  • wxWidgets を使ったプロジェクト用のダイアログエディタ wxSmith が付属
Ultimate++
  • GCC-MinGW,VC++ Toolkit 2003,VC++ 2005 Express Edition 用
  • クロスプラットフォーム GUI ライブラリ "Ultimate++" と IDE のセット。
  • IDE にはダイアログエディタ,アイコンエディタ付き
Dev-C++ [Bloodshed Software]
  • GCC-MinGW が付属
  • 環境設定で日本語フォントを選択すると,日本語が使えるようです。
  • Dev-C++ の日本語版が DevC++JPプロジェクトで公開されています。
Watcom IDE [The Open Watcom Project]
  • Open Watcom C/C++/FORTRAN に付属の IDE。
Wedit [LCC-Win32]
  • LCC-Win32 に付属する IDE
  • デバッガ,リソースエディタ付き
VIDE [Object Central]
  • GCC 用 (BCC も可能)
  • クロスプラットフォーム GUI ライブラリ "V GUI" が付属
MinGW Developer Studio [Parinya Software]
  • GCC-MinGW 用
  • クロスプラットフォーム GUI ライブラリ "wxWidgets" で作られた IDE。
BVRDE

Windows からリモート接続した Linux/UNIX のアプリケーションを開発するための IDE。MSXML4が必要なようです。

GCC Developer Station 2000 [The Garage of Choro]
  • GCC-MinGW 用
  • インストール時に GCC-MinGW をダウンロードする機能があります (既にインストール済みの GCC-MinGW でも可)
  • 98/Me ならインストール時に autoexec.bat を自動で書き換えて環境設定を行います。
  • 日本語

2008年5月現在ダウンロードできるサイトが無いようです。

<このページの頭へ>

4. Windows SDK

Windowsアプリケーションを作ろうとする場合には,以下のSDKに含まれるライブラリが必要になります。

開発環境となるWindowsのバージョン,コンパイラの対応に合わせてダウンロードしてください。

Windows SDK

以前のPlatform SDKと.NET Framework SDKを合わせたSDKです。

Platform SDK

<このページの頭へ>

5. テキストエディタ

TeraPad [ToClip for Windows]

TeraPad のスクリーンショット

  • 他のものと比べるとシンプルだが,その分軽快
  • プラグインにより機能を追加可能
  • 外部プログラム起動機能
  • Shift_JIS/JIS/EUC の他に Unicode/UTF-8 も読み書き可能 (ただし内部は Shift_JIS)
サクラエディタ [Japanese Text Editor]

サクラエディタのスクリーンショット

  • 高機能なエディタ
  • 疑似タブ機能
  • 関数やクラスをツリー表示するアウトライン解析機能
  • キーマクロ,WSHマクロ,PPAマクロが可能
  • 辞書ファイルによる入力補完,キーワードヘルプ機能
  • DLL を追加することで正規表現によるキーワード色分け表示・検索・置換・Grep も可能
  • Shift_JIS/JIS/EUC の他に Unicode/UTF-8/UTF-7 も読み書き可能 (ただし内部は Shift_JIS)
EmEditor Free [Emurasoft]
  • タブ機能
  • 正規表現による検索・置換
  • Unicode対応
  • HTMLモードではタグの属性に書いた言語でスクリプト言語を色分け
  • 外部アプリケーションの実行
NoEditor / UnEditor [YokkaSoft]
  • NoEditor が SDI。UnEditor が MDI。
  • Grep・複数ファイルの置換機能
  • Diff機能
  • HTMLタグを入力できるツールバーを表示するHTML編集モード
TepaEditor [GreenSoft TepaEditor]
  • ダイアログを表示させる必要なく(ツールバーのすぐ下に表示されている)検索・置換ができるサーチバー
  • 正規表現可能なキーワード色分け表示,検索・置換
  • 外部アプリケーションを実行できるツールランチャ
  • Shift_JIS/JIS/EUC の他に Unicode/UTF-8 も読み書き可能 (ただし内部は Shift_JIS)
K2Editor [K2 Software's Page]
  • 正規表現による高機能なキーワード色分け表示,検索・置換
  • キーマクロ機能
無印エディタ [無印エディタ配布所]
  • タブにより複数ファイルを扱える
  • 内部コードがUnicode
  • インクリメンタルサーチ,ローマ字検索機能
MKEditor [MK-SQUARE.COM]
  • タブにより複数ファイルを扱える
  • 複数ファイルをプロジェクトとして管理可能
  • 定型文字列の挿入機能
GreenPad [kMonos.NET]
  • U版は内部コードがUnicode
VxEditor [VxEditorの部屋]
  • AWK互換とPerl5互換を切り替え可能な正規表現
  • スクリプト言語DMonkeyを搭載
JmEditor [Jm HomePage]

JmEditor のスクリーンショット

  • FlatStyleGUI という特徴的な外観を持ったエディタ
  • タブにより複数ファイルを扱える
  • ボタン一つでコンパイラやインタプリタへソースを渡す機能
  • 関数やクラスをツリー表示するソースブラウザ
  • DOS 窓の代わりとして使えるメッセージパネル
xyzzy [やる気のないぺぇじ]
  • とても高機能なエディタ
  • 標準では UNIX の Emacs に似たキーバインド
  • タブにより複数ファイルを扱える
  • 関数一覧表示機能
  • キーマクロ機能
  • 正規表現による検索・置換・Grep
  • 辞書ファイルによる辞書引き機能
  • エディタなのにファイラ機能あり
  • Lisp で機能追加・変更が可能
  • DOS 窓の代わりに使える標準入出力モード
  • Shift_JIS/JIS/EUC の他に UTF-16/UTF-8/UTF-7/Big-5/EUC-KR など多くの文字コードの読み書き,混在編集が可能
Vim [KaoriYa.net][vim online]
  • Unix/Linuxの標準テキストエディタViの拡張版VimのWindows版
  • GUI版のgvimとCUI版のvimのセット
  • KaoriYa.net で配布されているものは,日本語向け設定,日本語編集向けスクリプトが同梱
Meadow [The Meadow Project]
  • Windows に移植された Emacs
  • 現在では,元になった Emacs とは違う独自機能も多い

<このページの頭へ>

6. どれを使用したら良いのか

初めてプログラミングをするのなら「BCC & CPad」または「BCC & C 言語を始めよう !」です。インストールが簡単,日本語である,サイズが小さい,など使いやすいと思います。少し馴れてきたら,「BCC + BCC Developer」がプロジェクト管理機能 (複数ファイルを扱う機能) があり良いでしょう。

機能が豊富で,書籍やネット上に情報の多い Visual C++ 2005 Express Edition を使うのも良いと思います。ただし,Visual C++関連の書籍は.NETかMFCを使うものが多いことには注意してください。

UnixやLinuxにも興味あるのなら,英語ですがツールや情報が豊富なGCCもお勧めです。以前は日本語(Shift_JIS)の扱いで問題がありましたが,GCC3.4以降はコンパイル時のオプションで問題なく扱えるようになっているようです。

MinGWとCygwinのどちらを選ぶか? ですが,個人的にはMinGWの方がよいと思います。CygwinはUNIXのツールを豊富に使うことが出来る利点があります。しかし,UNIX/Linuxのインストールも簡単になり,GUI環境も揃った現在では,わざわざWindows上でUnixのツールを使った作業を行う必要はないでしょう。また,MinGW にも Cygwin ほど高機能ではないものの MSYS があります。

エディタに関しては,いくつか使ってみて自分に合うものを使って下さい,としか言えません。

<このページの頭へ>

7. リンク

Cpad + BCC

C 言語を始めよう ! + LSI C-86 / BCC

BCC

VC++ Toolkit

GCC-MinGW

GCC-Cygwin

GCC Developer Station 2000

Relo

Code::Blocks

eclipse + CDT

Wedit (LCC-Win32)

LSI C-86 試食版 + DOS 窓

このページと同様なページ

<このページの頭へ>