C++ on MSVC/Minimum World
概要
C++の世界へようこそ。今回は、C++最小のプログラムを学びます。
正直、今回は面白くないかもしれませんが、基礎的な事を書いています。
単語を頭に残しておいて、分からないときに戻るのでもいいでしょう。
重要語
コード/ソースコード
C++の文法に従って書かれたテキスト
実行ファイル
コンピュータが実行できる機械語で書かれたファイル
コンパイル
コードを実行ファイルへと変換する作業
コンパイラ/コンパイラー
コンパイルを行うプログラム
コンパイルエラー
コンパイルに失敗した時のエラー
CUI(Character User Interface)
文字によってコンピュータと情報をやり取りする形式
コンソール
CUIによるアプリケーションが持つウィンドウ
関数
処理をまとめたもの
エントリーポイント
プログラムの実行が始まる場所
main関数
エントリーポイントとなる関数
必要語
C++のプログラム
まず、C++のプログラムを見る前の心構えということで、プログラムが出来るまでを学びましょう。
コード/ソースコードと実行ファイル
私たちは、C++の文法に従ってテキストを書いていくことになります。
そうやって書かれたテキストのことを、「コード」や「ソースコード」と呼びます。
しかし、コードはあくまでも人間が読むための文書なので、コンピュータは実行できません。
なので、コードは機械語で書かれている「実行ファイル」に変換する必要があります。
コンパイルとコンパイラ
コードから実行ファイルへ変換する作業のことを「コンパイル」と呼びます。
そして、コンパイルを行うプログラムが「コンパイラ」と呼ばれます。
私たちが使うコンパイラは、環境構築の時に入れた「Microsoft
Visual C++」です。
ちなみに、Microsoft Visual C++は「MSVC」や「VC++」と省略されます。
コンパイラとコンパイルエラー
コードを書くのは人なので、C++の文法に違反してしまうことがあります。
ですが、C++の文法に違反しているとコンパイル出来ず、コンパイラはエラーを出します。
このエラーを「コンパイルエラー」と呼び、文法の何に違反したのかを教えてくれます。
コンパイルエラーについて
コンパイルエラーを見て、失敗したと思って辛い気持ちになるかもしれません。
しかし、それは大間違いで、実行ファイルを実行せずにエラーが見つかって幸運なのです。
コンパイルエラーが出ないけれど、意図通りに実行されない方が大変なのです。
「コンパイルエラーは普通で、コンパイラに感謝して、大喜びしよう」ということです。
今回のC++文法
次に、C++最小のプログラムを理解するためのC++の文法知識を学びましょう。
コンソールとCUI
実行したときに表示される黒い画面が「コンソール」です。
コンソールは、文字の表示のみをするウィンドウで、CUIをサポートします。
CUIというのは、文字によってコンピュータと情報をやり取りする方法です。
C++の規格では、このコンソールを用いたプログラムのみが定義されています。
関数
追って学びますが、プログラミングでの関数は、簡単に言うと「処理のまとまり」です。
関数は呼ばれる、すなわち実行されることによって、定義しておいた処理を実行するのです。
main関数とエントリーポイント
C++の規格では、コードに「1つのmain関数があること」を要求します。
「main関数」というのは、C++のプログラムで一番初めに呼ばれる関数です。
また、プログラムで一番初めに呼ばれる関数で、「エントリーポイント」と呼ばれます。
C++最小のプログラム
それでは、C++最小のプログラムを見ていきましょう。
Visual Studioのプロジェクトを以下のように作成しましょう。
プロジェクト作成
C++講習 - 導入 - 環境構築では、「Windows デスクトップ アプリケーション」でした。
C++ on
MSVC講習では、「C++タグ」が付く「コンソールアプリケーション」になります。
「コンソールアプリケーション」を選択してプロジェクトを生成してください。
初期生成コードは全選択して削除して、以下のコードをコピペして実行してみましょう。
実行結果
黒い画面が出ただけになったでしょうか。Visual Studioが、「~~.exe(プロセス ~~~~)は、コード 0
で終了しました。このウィンドウを閉じるには、任意のキーを押してください。」と出力しているかもしれませんが、それ以外には何も書かれてないと思います。
このプログラムがしている事
何もしてません。
このコードでの実行の流れ
コードを書くにあたって、コード上での実行のされ方を把握するのが重要です。
というわけで、今回のコードの実行のされ方をコード上で追っていきましょう。
まず、int main() {}
がmain関数で、{
から実行が始まり、}
で実行が終わります。
以上です。本当に何もしてないのが分かると思います。
ただし、コンソールはコンパイル時に組み込まれているので表示されています。
練習問題
次回からは練習問題があります。ページで学んだことを元に、問題の回答を作りましょう。
練習問題とは銘打っていますが、忘れていたら調べたり、ページを見たりして取り組みましょう。