ツールを使いこなすことはプログラマとかに限らず 情報が乱雑する現代社会において効率的な作業ができるかの分かれ目になります ここではC++の統合開発環境である VC++(Visual C++)でプログラムを書く時に便利な機能について紹介します 紹介するのはVisual C++ 2005と2008での画面ですが 2010でも同じです (プログラムの説明ではなく、機能の説明なのでプログラムは最小限にとどめてあります) ------- * 空のプロジェクト [#v28f01ff] 適当な空のプロジェクト(プログラムをまとめたもの)を作ります 作り方が分かる人はこの項目は飛ばしてください お勧めはWin32コンソールです プロジェクト名は適当な名前を付けます &ref(console.GIF); 「次へ」を押してください(完了を押すと余計なファイルができてしまう) &ref(console2.GIF); 空のプロジェクトにチェックを付けてから 完了を押してください &ref(console3.GIF); 新規のファイルを追加します &ref(project4.GIF); ソリューションエクスプローラが見つからない場合は「表示」→「ソリューションエクスプローラ」 で表示してください &ref(project6.GIF); 新規ファイルを作成します(C++ファイル) C++ファイルを選び、名前をつけて追加を押してください &ref(project5.GIF); C++ファイルが追加されます &ref(project7.GIF); ここでフォルダのアイコンは「フィルタ」と呼びます 「フィルタ」に入っていればプロジェクトに追加されていることになっているので どこにあってもビルド(プログラムの実行ファイル作成)に関係ありません またフィルタ自体は数に関係なくビルドに影響しません (ただしファイルのパスは確認したほうが良いです、 これについてはあとで説明します) スタートページのタブはプロジェクト(プログラム)に関係ありませんので 邪魔な場合はスタートページタブ上で右クリックして閉じてしまいます &ref(project8.GIF); 大体こんな感じになれば準備完了です &ref(project9.GIF); ここまでは何も見なくてもできるようにしておいたほうがいいです これ以降、VC++で空のプロジェクト作成といったらここまでの作業のことを指します 試しに今作ったソースコード(私はmain.cppにしました)に次のように正確に書き込んでください 英字のスペルは1文字でも間違ったら駄目です(また、スペースは必ず半角スペースで入力してください) &ref(project10.GIF); ところで、 まれに次のように書く人がいますが・・・ #include <stdio.h> void main(){ printf("Hello World!\n"); } このようにvoid main()と書いてはいけません 理由はVC++上(windows上)ではコンパイルは通り、プログラムが作成されますが、 unixやlinuxなどの他のOS上ではコンパイルができず、プログラムが作成できません というわけで必ずint main()で書いてください 書きこんだら メニュー項目のソリューションのビルドを押します メニューを選ぶのがめんどくさい人は「F7」キーを押します &ref(project11.GIF); SIZE(30){ COLOR(#ffaa00){ここで重要となるのはショートカットキーとアクセラレータキーです}} この二つはしばしば混同されがちですが・・・ マウス操作以外でアプリケーション(ここではVC++になります)の機能を使う方法で 特定のキーの組み合わせを押すことで機能を使うことができます このキーの組み合わせをショットカットキーやアクセラレータキーと呼びます この二つの違いは ・アクセラレータキーはメニューバーに書かれていて現在の画面に見えてるものを指します 基本的にAltキーを押しながら特定のキーを押します (たとえばビルドの項目の横に(B)と書かれている、この場合はAltキーとBを同時押しするとビルドのメニュー項目が開きます) ・ショートカットキーは目には見えてないけどアプリケーションで使うことができる機能を指します 基本的にファンクションキー(F数字)のキー もしくは、Ctrlキーを押しながら別のキーの組み合わせであることが多いです (VC++でソリューションのビルドを行うにはF7キーを押します) 組み合わせるときはCtrl+他のキーと書きます、たとえばCtrl押しながらBの場合はCtrl+Bと書きます アクセラレータキーとショットカットキーを使うことで(マウス操作より速いので) 作業の効率をあげることができます VC++に限らずほとんどのアプリケーションはこの機能がついていることがほとんどなので 覚えておいて損はないです (アプリケーション毎に異なったりしますが・・・) さてビルドを行い、ビルドが成功すると次の画面が出てきます &ref(project12.GIF); ここで見慣れない用語がでてきました この2つの用語はプログラムを作る過程のことを指しています SIZE(30){ COLOR(#ffaa00){・コンパイル}} SIZE(30){ COLOR(#ffaa00){・リンク}} コンパイルというのはプログラムの文法があっているかのチェックをして、.objファイルというファイルを作成します (ただし足し算するべきところを引き算にしてしまったとかいう類のエラーは検出できない) リンカというのは複数の.objファイルと.libファイルを合体させて、 実行可能な.exeファイル(アプリケーション)を作成します (.objファイルや.libファイルは部品のイメージで、 それをリンカで合体させて.exeファイル(アプリケーション)を作ります) 表示が出てきてない人は ソリューションエクスプローラーの時と同様、「表示」→「出力」で表示します &ref(project6.GIF); 上記の表示でない人はエラー(error)が出ています よくあるエラーなのですが、つぎのようになっていないか確認してください &ref(project13.GIF); error C3872:'0x3000'はこの文字を識別子で使用することはできません と書かれています '0x3000'とは全角スペースのことです つまり、このエラーが出ているときはプログラム中に全角スペースがあります、 かならず半角スペースに直してください SIZE(30){ COLOR(#ffaa00){エラーの箇所をダブルクリックするとエラーの行に飛びます}} ほかの種類のエラーに関しても飛ぶことができるのでデバックに便利です &ref(project14.GIF); error C3872:の行数分、全角スペースが含まれているので注意してください また、次のエラー(error C3861)が出た人は#include <stdio.h>を忘れているか printfのスペルミスを確認してください &ref(project15.GIF); 直すのがめんどくさいときは次のコードをコピー&ペーストしてください (マウスドラックで選択、Ctrl+Cでコピー後Ctrl+Vで張り付け) #include <stdio.h> int main(){ printf("Hello World!\n"); return 0; } なお、VC++ 2010だと自動的に赤下波線で箇所を表示してくれます さて、ビルドが成功後、作成したアプリケーションを実行してみます 実行するには「デバック」→「デバックなしで実行」を選びます ショートカットキーは「Ctrl+F5」です &ref(project16.GIF); 実行結果は次のように出てくれば成功です &ref(project17.GIF); ------ さて、今の部分まではもっともシンプルなプロジェクトの作成例でした ここからが便利機能の本編です * インテリセンス [#kecd7ec0] 単純にいってしまえば補間機能です 変数名や関数名を途中まで入れると候補となるものをすべて列挙してくれます VB,VC#,Eclipseなどではデフォルトの設定でこの機能が自動的に起動します VC++でも変数名や関数名を途中まで打ち込んだ後、「Ctrl+Space」でインテリセンス機能が使えます 長ったらしい関数や変数の場合はこの機能を使ったほうが効率的です &ref(project25.GIF); ここで気づいてほしいのは、自分で作った変数や関数などもその候補となります * 検索&置換 [#q57f1068] プロジェクト内の単語の検索や置換を行うことができます ショートカットキーはCtrl+F、Ctrl+Hです &ref(project18.GIF); 変数、関数名を検索や置換するのに便利です デバックや修正によく使います 検索には様々なオプションがあります &ref(project26.GIF); 検索対象は ・現在のドキュメント(現在開いているドキュメント) ・選択した部分(あらかじめ選択した部分) ・すべての開かれたドキュメント(タブが開いている全てのドキュメント) ・プロジェクト全体(プロジェクトの全てのファイルが対象です) ・ソリューション全体(全てのプロジェクトの全てのファイルが対象です) ・現在のブロック(選択箇所を包括しているブロックが対象です{}) から選ぶことができます また、検索条件に正規表現やワイルドカードを用いることもできます 置換のオプションは検索とほぼ同じです &ref(project19.GIF); また、一括で検索結果を出すにはシンボルの検索を行います ショートカットキーはCtrl+Shift+YもしくはAlt+F12 &ref(project20.GIF); 検索対象を「マイソリューション」 検索オプションを「単語単位」にすると ソリューションで使われている単語を一括検索することができます * フォーマット [#i140dffb] フォーマット(整形)機能を使うとソースコードを見やすくできます たとえば次のようなぐちゃぐちゃなソースコードでも &ref(project21.GIF); 「Ctrl+A」で現在のドキュメントを全選択します &ref(project22.GIF); 「編集」→「詳細」→「選択範囲のフォーマット」 ショ−トカットキーはCtrl+KしたあとにCtrl+F、もしくはAlt+F8 で選択範囲を整形します &ref(project23.GIF); 綺麗に整形されます &ref(project24.GIF); ------- #vote((^ω^)やったお[0],何これwww意味不すぎwww[0],。(`ω´#)。あぁん?最近、だらしねぇな[0])