C/C++プログラムのお勉強
・・・WisdomSoftのススメ・・・

注)
 このコーナーはWindows XPを対象に書いています。2000や2003でも大丈夫だと思いますが、確認していません。9X系は確実に適応外です。
 また、秀丸エディタを使います。こちらに関しては、送金前の試用段階でも機能すると思います。

目次
1.方針など(このページ)
2.Borland C++ Compiler での環境構築
3.Visual C++ Toolkit 2003 での環境構築
4.秀丸マクロについて
5.秀丸マクロの設定
6.秀丸マクロの設定(つづき)
7.WisdomSoftのコードを扱う上での留意点
8.Reloを使ってみる
9.Visual C++ 2005 Express について

1.雑談(無駄話です。読みたくなければすぐに2へ進んでください。)

この文章を書いている2004年7月現在、プログラム開発環境にはちょっとした変化が感じられます。それは何かというと、マイクロソフト社が、学生さんや趣味でプログラミングを楽しむ人たちのために、低価格路線を打ち出してきたことです。

たとえばパッケージ商品では、Visual Studio .NET theSpoke Premium Version 2003という純粋に学生専用の製品が発売されました。実売価格4000円未満で購入できます。 従来からの学生&教職員向けアカデミックパックが25,000円程度、一般向けの同等商品であるVisual Studio .NET 2003 Professional が12万円以上であることを考えると、これがいかに安いかがわかります。

Spokeの対象外である社会人に対しても、Expressという廉価版の発売がアナウンスされています。これは、現在のStandard版よりも安く、各言語別ではないVisual Studioとして登場するらしいです。もしかすると、Delphi 6 personalのように無料ダウンロード版も用意されるかもしれません。Expressに関しては、既にベータ版が無料で(MSDN会員に限らず)誰でも、ダウンロードできるようになっています。(*2006年4月追記:2006年4月から期間限定を解除して、Expressは言語別に無料ダウンロードが実施されています。)

特にspokeの安さにはインパクトがあったようで、かなり売れているようです。私が学生だったらきっと買っていたでしょう。でも安さにつられて、たいした目的意識もなく買った人たちの中には、ラーメンタイマーだけ作って、あるいはそれさえも作れずに挫折する人も出るしょう。あとは棚でほこりをかぶるか、ヤフオクで売り払われるか...。

このコーナーで扱うのは32ビットWindows上で動作する、いわゆるネイティブなC/C++です。コンソールアプリに加えて、Win32APIを使ってのGUIプログラムも扱います。MFCとかの便利な物は使わないで、ガリガリとソースを書く方法です。

ポトペタと呼ばれるRADはとても便利ですし、楽しいです。VS.NETでもC#などはポトペタです。ネイティブなEXEを作るものをあげると、Visual Basicの6までとかDelphiなどですね。C++ならBorland C++ Builderがあります。でも、Visual C++ (SDK)はポトペタではないですね。Visualとは名ばかりだと言われるのをよく聞きます。

ただし、ネイティブなC/C++が時代遅れなのかというと全然そうじゃなくて、今でも主流派です。そして、Win32APIを勉強するのには最も適しているし、資料も豊富にある。たとえばDelphiからはじめて、ある程度のものを作れるようになったが、HWNDやらWPARAMなどがよくわからない、pcharって何のために付けるんだ?と言う人がいると思います。そして、ちょっとCの勉強をして、「ああ、なるほど」という経験をした方もいるでしょう。

それからこれは別の利点ですが、、APIの勉強をすると、プログラムうんぬんという以前に、WindowsというOSをより深く理解することができるようになります。たとえば、ウインドウの右上の×印をクリックすると、どういう仕組みで窓が閉じたり、プログラムが終了するのかということが、今より詳しく理解できるようになります。

上のような理由から、C/C++の基本を学ぶことは、プログラムを勉強したい人たちにはとても意義のあることだと思うのですが、これをspokeのような高性能なソフトではじめると、逆に本質を理解しにくい一面があると思うのです。(買えない社会人の僻みw) 優れた初心者用お手本サンプルを見て、コードを書いて、コンパイルして、リンクして、やった動いた!という繰り返しが、初心者には必要な経験だと思うのです。この場合、大抵ソースファイルは1つか2つですから、わざわざ高性能ソフトでプロジェクトを作ってやるよりも、テキストエディタを使ったほうが気楽です。

ただしコマンドプロンプトで直接コマンドをたたいてコンパイルというのが良いかというと、これではあまりにも効率が悪い。VC++ Toolkitなどでは、あっちこっちにパスを通しておくのが面倒だ、ということになります。

以上のことから、このコーナーを作ってみました。具体的な話は次項から。

2.方針

まずC++コンパイラを用意します。このコーナーでは、無料で手に入るものとして最も一般的な、Borland C++ Compilerと、最近マイクロソフトが配布を始めた、Visual C++ Toolkit 2003を取り上げます。これらはコマンドプロンプトから使うのが基本ですが、より使いやすくするためのフロントエンドを構築します。

さて、肝心のプログラムの学習は、赤坂 玲音さんのWisdomSoftを教科書としますこちらのサイトは基礎的事項から逐一解説されていて、初心者でも一歩一歩理解を深めながら、プログラミングを学習できると思います。

目標は、WisdomSoftさんのC言語入門・C++入門・Win32API入門で扱っている範囲を理解すること。たとえばWin32GUIアプリならば、Cソースファイルは1つまでで、分割コンパイルやMakeFileを扱わなくてすむレベルまで。ただし、リソースを使ってメニューやダイアログを出したり好きなアイコンを付けたりすることはできるし、DLLを作って実行ファイルから呼び出して使えるようにできる、といったところです。

すなわち、WisdomSoftさんの全C関連サンプルコードを演習できる環境を構築するのが、このコーナーの目的です。もし、WisdomSoftさんの講座を十分理解できたとしたら、初心者卒業と言えるレベルなのではないかと思います。(ちなみに私は勉強中で、完全な初心者です。)

なぜ対象のサイトをWisdomSoftさんにしたのか?以下がその理由です。

  1. 質・量ともに充実していること。
  2. 基本的事項の解説を後回しにせず、その場で解説しているので、初心者が釈然としない疑問点を抱えたまま先へ進むような事が防げる。
  3. コピー&ペーストでコードをテキストエディタに貼り付けやすい。

特に3番目は重視しました。WisdomSoftさんをごらんになっていただくとわかりますが、コード部分が枠に囲まれ、若草色の背景色になっているので、ドラッグ&コピーがしやすい。また(繰り返し出てくる部分でも)コードの省略がありません。全角スペースが含まれているために貼り付けてコンパイルすると、わかりにくいエラーが出るなどと言うこともありません。

私の考える初心者勉強方法の一例を挙げてみます。たとえば、この章は、基本的なウィンドウを作る章です。これは背景色が白いウィンドウですが、黒いウィンドウにしたいと考えたとします。そうすると、(HBRUSH)GetStockObject(WHITE_BRUSH)のWHITE_BRUSHをBLACK_BRUSHにしてみたらどうかと気づきますよね。予想通りやってみると成功します。そうしたら次は赤だと思い、RED_BRUSHにすると・・・おやおや未定義だとか言われてエラーが出てしまいました。そこであちこちと調べて、色々試行錯誤して、苦労の末にとうとうできたという時に、この人の実力は確実に一歩前進したということになると思うのです。

このような勉強方法に、WisdomSoftさんは、すごく向いていると思います。始めの方から順々に勉強していくのにも、リファレンスとして調べるのにも、とても優れたサイトだと思います。(特定の関数から探せる、JAVAアプレットもあったりします。)

3.具体的準備へ

まずは上にも書いたように、Borland C++ Compiler か Visual C++ Toolkit 2003 のどちらかを準備します。

もし、面倒な設定はいやだというのならば、BCCのほうを薦めます。エラーメッセージが日本語でなければ駄目という方もこちらになります。逆に、出来上がった実行ファイルのサイズをできるだけ小さくしたいとか、将来Visual C++を使いたいので、マイクロソフトの製品に慣れておきたいなどの方は、VCの方にしてください。実は両方ともやってみたらどう?というのが私のお勧めです。


<ホームへ>          <次のページへ>