C言語/おわりに

出典: フリー教科書『ウィキブックス(Wikibooks)』
ナビゲーションに移動 検索に移動

C言語の次に学ぶべきこと[編集]

この節では、 C言語及び標準ライブラリを学んだ後、 次に学ぶべきことをまとめる。 といっても、これら全てを学ばないとプログラムが作れない、というわけではなく、 自分でプログラムを作りながら、必要なものを学んでいけばいいだろう。

標準ライブラリ以外のライブラリの使い方[編集]

C言語には標準ライブラリ以外にも、 様々なライブラリが存在する。 自分が使いたい機能を持ったライブラリの使い方を学習して、 何かプログラムを作ってみるといいかもしれない。

例えばゲームプログラミングをWindows上でしたいなら、後述するDirectXを使いやすくまとめた「DXライブラリ」というライブラリがある。

データ構造とアルゴリズム[編集]

データ構造とは、実際のデータをコンピュータのメモリ上でどのように表現するか定める形式である。 アルゴリズムとは、そのデータを用いて計算し問題を解くための手順や考え方である。 データ構造とアルゴリズムを学ぶことで、 より複雑な問題をプログラムで解けるようになる。

他の言語[編集]

ある一定以上複雑なプログラムを作ろうとすると、 C言語では難しくなる場合がある。 C言語以降に開発されたオブジェクト指向をサポートする言語を学ぶのも手だ。 例えば、C言語にクラスの機能を導入したC++という言語がある。 言語によって何ができるかにはあまり違いはないが、何を作りやすいかはかなり異なる。

インラインアセンブラ[編集]

インラインアセンブラとは、C言語のソースコードの一部に、アセンブリ言語を含めることである。 インラインアセンブラを用いることで、 実行速度を高めたり、メモリ使用量を減らしたりできる。

C言語のソースコードにアセンブリ言語を含めるには次のように記述する。

__asm アセンブリ文
__asm {アセンブリ複文}

Windows依存の技術[編集]

下記の技術はwinodwosだけに依存して、mac OSやLinuxでは使えない技術である。

だが、2010年代の今のところ、windowsでこれらの分野の学ぶのが最も入門しやすいので、紹介しておく。


Win32API[編集]

C言語と標準ライブラリを学ぶことで、 ウィンドウに文字列を出力したり、変数にキーボードから入力したりできる。 このような文字のみを用いたユーザインターフェイスを、 キャラクタユーザインターフェイス(Character-based User Interface, 略はCUI)と呼ぶ。

一方、今日のプログラムは、 画面にウィンドウを表示し、 ウィンドウ内にボタン、チェックボックス、コンボボックス、ラベル、リストボックス、 ピクチャボックス、ラジオボタン、テキストボックスなど様々なコントロールを配置し、 キーボードやマウスを使って操作できる。 このようなグラフィカルなユーザインターフェイスを、 グラフィカルユーザーインターフェイス(Graphical User Interface, 略はGUI)と呼ぶ。

Windows上でGUIをもったプログラムを作成するには、 Win32APIというものを学ぶ必要がある。 Win32APIを用いることで、 画面にウィンドウを表示し、 BitBlt関数を用いて矩形範囲のグラフィックをコピーしたり、 sndPlaySound関数を用いてWAVE音声を再生したりできる。

DirectX又はOpenGL[編集]

高速な2Dグラフィック処理や、3Dグラフィック処理を行うには、Windows上で行う場合なら、 DirectXというものを学ぶ必要があるだろう。

DirectXを用いることで、 ハードウェアを用いたマルチメディア機能を使うことができる。

DirectX以外で、 3Dなどの高度なグラフィックス処理を行うには、 OpenGLというものを学ぶ必要がある。 OpenGLを用いることで、 3次元グラフィックス機能を使うことができる。

なおDirectXの実行環境(ランタイム)はWindowsにあらかじめインストールされている。

DirectXをつかったアプリを開発したい場合には、DirectXのSDK(ソフトウェア開発キット)をマイクロソフトのwebサイトから追加でダウンロードしてきてインストールすればいい。


WinSock2[編集]

ネットワーク機能を使うには、 WinSockというものを学ぶ必要がある。 WinSockを用いることで、 コンピュータ同士で通信を行うことができる。