Changes between Version 12 and Version 13 of HowTo/CTutorial


Ignore:
Timestamp:
Sep 5, 2010, 9:10:58 PM (14 years ago)
Author:
村山 俊之
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • HowTo/CTutorial

    v12 v13  
    199199C 言語が用意している命令だけではできないことの多くは、 C 言語の標準規格として定められている'''標準ライブラリ'''によって提供される関数を用いて実現することができるでしょう。標準ライブラリに精通することは、 C 言語を実用的に使いこなすようになるための早道であると言えるかも知れません。
    200200
    201 標準ライブラリでもできないことをするにはどうすればよいかというと、いくつかのアプローチが考えられます。まず、 C 言語で書いたプログラムを実行する環境が、 Unix ライクな OS や Windows などの PC であるなら、それらの OS が提供する'''システムコール'''や '''API''' を調べてみると良いでしょう。あるいは、作りたいものがある程度決まっているのであれば、それを作るのにより最適で扱いやすい'''ライブラリ'''が頒布されているかも知れません。
     201標準ライブラリでもできないことをするにはどうすればよいかというと、いくつかのアプローチが考えられます。まず、 C 言語で書いたプログラムを実行する環境が、 UNIX ライクな OS や Windows などの PC であるなら、それらの OS が提供する'''システムコール'''や '''API''' を調べてみると良いでしょう。あるいは、作りたいものがある程度決まっているのであれば、それを作るのにより最適で扱いやすい'''ライブラリ'''が頒布されているかも知れません。
    202202
    203203また、とある既存のアプリケーションのプラグインツールを開発するようなケースであれば、そのアプリケーションのベンダーが API にアクセスするための'''開発キット''' (SDK と呼ばれるもの) を提供しているでしょう。これらはいずれも (基本的には) 機能を利用する為に用意された関数を呼び出せばよいようになっているはずです[[FootNote(プラグイン開発なんかの場合、既存アプリケーションがプラグインツールの関数を呼び出すルールが定められていて、そのルールの通りにプログラマーが関数を用意すればいい、というケースもあります。)]]。
     
    206206
    207207[[FootNote]]
     208
     209== とりあえず使ってみよう ==
     210
     211蘊蓄はこれぐらいにして、とりあえず C 言語で何かプログラムを書き、それを動かしてみることにしましょう。
     212
     213=== コンパイラを用意する ===
     214
     215C 言語で書いたプログラムを動かすには、コンパイラが必要です。 UNIX ライクな環境では GCC を用いるのが一般的です。 Windows 環境の場合、恐らく最もポピュラーなのは Microsoft Visualo Studio の Express 版ですが、 MinGW や Cygwin などの UNIX ライクな環境を提供するプロジェクトも存在します。
     216
     217 * Windows で Visual Studio の Express 版を利用する場合
     218
     219[http://www.microsoft.com/japan/msdn/vstudio/express/ Microsoft Visual Studio Express] のサイトから、 Visual C++ 2010 Express をダウンロードし、インストールします。 C++ となっていますが、 C 言語も扱えるのでまったく問題ありません。
     220
     221Visual Studio は統合開発環境 (IDE) になっているので、変数名などを補完してくれる便利なテキストエディタや、ファイルをまたいだ検索機能、グラフィカルなデバッガなどもセットでついてきます。非常に便利です。
     222
     223 * Windows で Cygwin や MinGW を利用する場合
     224
     225Microsoft 的なものを好きになれない人や、クロスプラットフォームでの開発を前提にしており GCC に慣れておきたい人などは、 Cygwin や MinGW の導入を検討してみるのも良いでしょう。
     226
     227Cygwin を導入する場合は、 [http://www.cygwin.com/ Cygwin Installation and Information] のサイトでインストーラをダウンロードし、実行して下さい。デフォルトの構成だといろいろと歯抜けなので、構成が表示されたらツリーのトップをクリックして「Install」とし、全部インストールするようにした方がよいでしょう。ただし、インストールに非常に時間がかかりますが…。
     228
     229MinGW を導入する場合は、 [http://sourceforge.net/projects/mingw/files/ SourceForge.net の MinGW ダウンロードサイト]にて、「Download Now!」ボタンをクリック (または「Automated MinGW Installer」→「mingw-get-inst」→「mingw-get-inst-''yyyymmdd''」→「mingw-get-inst-''yyyymmdd''.exe」の順に選択) してインストーラをダウンロードし、実行して下さい。デフォルトの構成では C コンパイラのみの構成の GCC のみがインストールされます。 MinGW の GCC は Windows のコマンドプロンプトからでも扱うことはできますが、他の言語のコンパイラや UNIX ライクなターミナルが欲しい場合は、構成ツリーが表示されたところで該当するコンポーネントにチェックを入れて下さい。
     230
     231 * Linux や *BSD、 Solaris、 Mac OS X などの UNIX ライクな OS を利用する場合
     232
     233多くの UNIX 風環境においては、 GCC などのコンパイラが最初からインストールされています。まずはターミナルから cc コマンドか gcc コマンドを、 --version などのオプションをつけて入力してみて下さい。
     234
     235コマンドが見当たらないようであれば、 GCC をインストールしましょう。 Linux の場合、使用しているディストリビューションがサポートする方法に従ってインストールして下さい。例えば RedHat や Fedora 、 CentOS などの場合は Yum を、 Debian や Ubuntu など (それから何故か Vine も) の場合は apt-get や aptutil を (特に Ubuntu の場合はよりグラフィカルなパッケージ管理ユーティティが利用可能であるはず) それぞれ利用します。 Slackware 系の場合はディストリビューションのポータルサイトからリンクされているミラーに直接アクセスし、書庫ファイルをダウンロードして展開し、説明が書かれたテキストファイル (多分 INSTALL ファイル) の指示に従ってインストールを行って下さい。
     236
     237*BSD の場合は、新しいバージョンの GCC が欲しいのであれば、 port を利用して下さい。… port が利用できると言うことは、恐らく GCC などのコンパイラも既にインストールされているのでしょう。 Gentoo Linux の場合も同様ですね。
     238
     239Mac OS X の場合は、[http://developer.apple.com/technologies/tools/xcode.html Xcode] をダウンロードし、インストールして下さい。 Xcode は Visual Studio と同様の統合開発環境 (IDE) ですが、これをインストールすることで GCC も一緒にインストールされます。
     240
     241それ以外の OS の場合は、 GNU プロジェクトの [http://gcc.gnu.org/install/binaries.html Installing GCC: Binaries] のページからリンクを辿ってダウンロード、インストールを行って下さい。
     242
     243=== コンパイルと実行 ===
     244
     245Hello World プログラムは既に例示しましたが、
     246
     247{{{
     248#include <stdio.h>
     249
     250int main()
     251{
     252    printf("Hello World!\n");
     253    return 0;
     254}
     255}}}
     256
     257このプログラムをコンパイルして、実際に動かしてみましょう。
     258
     259 * Windows で Visual Studio を利用する場合
     260
     261Visual Studio を起動し、「新規プロジェクトを作成」で「コンソールアプリケーション」を選択し、適当なプロジェクト名でプロジェクトを作成しましょう。
     262
     263次に、ソリューションエクスプローラにて、プロジェクト名を右クリックし、「追加」→「新しい項目…」を選択して、「空の C コードファイル」を選択し、ファイル名を「test.c」として「追加」ボタンをクリックします。
     264
     265空のテキストファイルがエディタに表示されるので、上記のサンプルプログラムをコピー&ペーストし、 Ctrl + F5 キーを押すと、ファイルが保存され、コンパイルが行われ、そしてプログラムが実行されます。
     266
     267 * GCC を利用する場合
     268
     269テキストエディタを用いて上記のサンプルプログラムをコピー&ペーストし、ファイル名「test.c」で保存します。
     270
     271次に、ターミナル (コマンドプロンプト、またはシェル) にて、 cd コマンドで test.c を保存したディレクトリに移動してから、以下のコマンドを実行します。
     272
     273{{{
     274$ gcc test.c
     275}}}
     276
     277すると、同じディレクトリに a.out というファイルが生成されます。そこで、
     278
     279{{{
     280$ ./a.out
     281}}}
     282
     283とタイプすると、プログラムを実行できます。
     284
     285実行ファイルのファイル名を指定したい場合は、 -o オプションを指定します。
     286
     287{{{
     288$ gcc -o test test.c
     289$ ./test
     290}}}
     291
     292Windows の場合、余計に拡張子 .exe がついた名前のファイルが生成されます。
     293