C,C++分科会テキスト00

はじめに

この分科会の概要に関してはC,C++分科会紹介を見てください。
どんどん質問してくださいというのが主な内容です。

初心者にとってはCC++は理解するのは難しいかもしれませんが一旦理解すれば覚えることが少ないのであきらめずにがんばりましょう。 このテキストが分かりにくい場合は初心者用のC言語テキスト(byまんさく)もどうぞ。

簡単な流れ

C、C++言語において、人間語でプログラムの流れを書き記したファイルをソースファイルといいます。 これをコンパイル(機械語に翻訳)して、コンパイルしたもの(オブジェクトファイルといいます)とか ライブラリーファイルとかをリンク(連結)すると、実行可能なファイルとなります。 これを走らせるとプログラムが動き出すわけです。

ただし、標準的なプログラムを書く限りはライブラリとのリンクという作業は意識しなくても コンパイラが勝手にやってくれたりします。

情報棟のUNIXを使う場合

さて、大学の情報棟でプログラムを作って走らせるには、ソースファイルがhoge.ccだったとすると、 大学のunixの使い方についてははいぱーわーくぶっくや情報処理ナビゲーターなどを参照してください。

gXXXXXX@uxXXX>gcc hoge.cc -o hoge
				
とすると、hogeというファイルが同じディレクトリにできているはずです。(もっともコンパイルエラーが出るときのほうが多いが…) そしたら、
gXXXXXX@uxXXX>./hoge
				
とやるとはしるのです。

gccというのはC++をコンパイルするコマンドであり、このコマンドに対し-oとやると出来上がったものに名前を付けることが可能です。
この-oがないとa.outという名前のファイルが実行可能ファイルです。
また、./というのはカレントディレクトリーをしめすので一見いらないようですが、普通のコマンドと区別するために必要です。

また、math.hに宣言してある関数を使うときはライブラリーを指定して、

gXXXXXX@uxXXX>gcc hoge.cc -l math -o hoge
				
としないといけません。 ただし、g++コマンドを使うと指定しなくても良いようです。
gXXXXXX@uxXXX>g++ hoge.cc -o hoge
				

ファイルの作り方ですが、muleあたりを使うのが標準です。

Windowsでやる場合

Windowsでやる場合ですが、Borland C++ compilerなら無料で手に入ります。 これをインストールします。ソースファイルをコマンドプロンプトもしくはMS-DOSプロンプトでコンパイルできるようになります。
エディタはメモ帳でもいいですがhttp://www.forest.impress.co.jp/editor.htmlあたりにいいものがあります。
もちろんMicrosoft Visual C++やBorland C++ Builderをすでに持っていればこれを使ってやりましょう。
UNIXの環境をWindowsに持ち込むという手もあります。cygwinを使えば、g++が使えます。

VC++を使うときの簡単な説明です。

新規作成で、Win32 Console Applicationを選択し、プロジェクトの名前を入れて作成すると(空のプロジェクトを選びます。)、フォルダにたくさんのファイルが入ったものができます。
そのファイルの中に、プロジェクト名.dswとなっているものがあります。これを開くとVC++で作業ができます
プロジェクト名.cppとなっているソースファイルをプロジェクトに挿入して、編集した後 ビルド(コンパイルしてリンクもする)をするボタンを押すとプロジェクト名.exeというファイルができ、直接またはVC++で走らせることが可能です。

面倒ならプロジェクト名.cppという名前のファイルをプロジェクト名のフォルダに入れて.cppのソースファイルをVC++で開き、 ビルドボタンを押すとデフォルトのワークスペースを作ってくれるのでこっちのほうが楽かもしれません。

Borland C++ Compilerでやる場合

Borland C++ Compilerを入手。
http://www.borland.co.jp/cppbuilder/freecompiler/
あとは、説明に従えばよいのですが、C:\borland\bcc55\binにbcc32.cfgという名前のファイルを作って、

-I"C:\borland\bcc55\Include"
-L"C:\borland\bcc55\Lib"
				
と入れておきましょう。ただしこれはC:にborlandフォルダを使った場合です。
C:\borland\bcc55\Includeにstdio.hなどたくさんのヘッダーファイルがあり(もし興味があればメモ帳などで覗いて見ましょう。)
C:\borland\bcc55\Libにはたくさんの.libファイルがあります。(もし興味があればバイナリエディタなどで覗いてみましょう。覗かなくていいです。)
さて、そしたら、コマンドプロンプトまたはMS-DOSプロンプトに
C:\>path c:\borland\bcc55\bin;%path%
				
等と打ち込むことによってc:\borland\bcc55\binにあるbcc32.exeをコマンドとして使うことができます。
この設定を保存しておくには、システムのプロパティーにある環境変数のpathに加えておきます(windows 2000)。
そしたら、カレントディレクトリをプログラムのソースがあるところへ移します。
たとえば、
C:\>cd C:\home\C\helloworld
				
そして
C:\home\C\helloworld>bcc32 helloworld.cpp
				
とすると、
helloworld.exeというファイルができているはずです。実行するときは
C:\home\C\helloworld>helloworld.exe
				
とやればいいわけです。....>の部分はプロンプトが表示してくる部分で、カレントディレクトリーを示してくれています。

ところで直接このhelloworld.exeを実行すると(ループになっていたり、時間のかかる計算をしない限り)一瞬プロンプトが出たと思ったら消えます。これはプログラムが終了したときに自分の空けたコマンドプロンプトは閉じるようになっているからです
閉じられては困るときはコマンドプロンプトをはじめからあけておかなくてはいけません。

前置きはこんなものです。
第01回から、C,C++の書き方についてやり始めます。