VC PlusPlus:基本的な使い方のソースを表示
新しいページはコチラ
移動:
案内
,
検索
== '''概要 Visual Studio''' == :こういうアプリケーションを開発するための大規模なアプリを日本語では統合開発環境と言います。英語ではIntegrated Development Environment=IDEとされていると思います。 :[[ファイル:20181025 VSLogo.png|600px|thumb|none|Visual Studio Community2015]] == '''起動''' == : Visual Studioには様々なバージョンがありますが、管理人は :Visual Studio 6.0 Enterprise Edition→ :Visual Studio 2003 Professional Edition→ :Visual Studio 2008 Professional Edition→ :Visual Studio 2010 Professional Edition→ :Visual Studio 2013 Professional Edition→ :Visual Studio 2015 Professional Edition→ :Visual Studio Community ここで突如として一般個人にも無償でProfessionalに相当するエディションが提供された。企業などで5人以上が使う場合はこのエディションは使えないし、Express Editionも廃止になった。大企業なんかで、情報関係の部門ではなく、本格的にプログラムを作成するわけではない部門では、Visual Studio 2017 Professional Editionのライセンス予算がおりずに、Express Editionを使っていた部門の人も新規には導入できなくなって困っていたりするのかもしれません。 : という具合の変遷を辿りながらアップグレードしつつ、使っています。2015あたりまでは、Express Editionではリソースエディタと呼ばれる機能が存在していなかったので、プロフェッショナルエディションを使っていました。放送大学の学生だったので、Visual Studio Communityまでのエディションをアカデミックライセンスとして仕えていた訳です。DreamSparkというマイクロソフトのサービスを利用していたことになります。 : で、なんやかんやあって、ExpressEditionは復活しました。なのでVisualStudio 2017 ExpressEditionはあります。企業でも使えます! : 特にネットに公開してみなさんに使っていただくような実用的なものは、ほとんど作ったことがないので、アカデミックライセンスで十分でした。商用利用なんて必要ありません。今後もきっと。おかげさまで使い方の勉強だけはできていました。 :[[ファイル:20181021 VSIcon.png]] :のようなアイコンで、スタートメニューにVisusalStudio2015というショートカットできたり、デスクトップにできたりしているはずなので、そこから起動します。一度起動したときに、表示されたタスクバーのVisualStudioのタスクを右クリックして表示されるタスクバーに📌ピン留めを選択すると常にタスクバーから起動アイコンが表示されるため起動しやすくなります。 == '''プロジェクトの新規作成''' == : プロジェクトの新規作成というと、大げさな始まりになってしまうかもしれませんが、プログラムの新規作成程度で考えてもいいと思います。プログラムも含めてプロジェクトの新規作成と呼んでいます。プロジェクトの上にソリューションという考え方がありまして、1つのソリューションの中に複数のプロジェクトを組み込むという形でプログラムを管理します。初心者はソリューションという考え方を気にする必要はないと思います。1ソリューション1プロジェクト。単純なものでいいのです。 :[[ファイル:20181021 VS NewProject.png|600px|thumb|none|プロジェクトの新規作成menu]] : すると、どういうのをつくりますか?的なややこしいウィザードが始まります。あぅ、どういうのを作るかとかそんなの考えてなかった…。とかあると思います。Windowのプログラムを作るなら、Windowsプロジェクト。黒いコンソール画面で文字列で処理する場合はWindowsコンソールプロジェクト。DLLをつくる場合は…と、やることによって選択するべきものは違いますが、まぁせっかくなんでWindowsのプログラム作ってみる?ってことで、ここではWindowsプロジェクトを選択しましょう。 :[[ファイル:20181021 NewProjectDlg.png|600px|thumb|none|プロジェクトの新規作成]] : プロジェクトの名前とプロジェクトの作成するフォルダを選択する必要があります。プロジェクトを保存する場所は、昔はスペース空白文字は嫌がられていましたが、最近はスペースを含めても良いので、'''フォルダのパス全体を通して、アルファベットのみを使い、記号はあまり使わない名前だけにした方が無難'''です。いろいろな外部のプログラムを参照する関係で、日本語文字があるとうまく動作しない場合は多いです。あれ?おかしな?と思ったら、全角のC++フォルダの中にプロジェクトがおかれていたりといこともあります。C++としたい気持ちもわからないでもないですが、Cppとかにしましょう。フォルダ階層が深いとかっていうのも、ハマる原因になることもあります。プロジェクトの名前も長すぎると、プロジェクト名を含んだクラス名(プログラムの中に使われるユーザが命名できる関数の発展したものがクラスです。)が自動で沢山作られる関係もあるので、あまり長すぎない方がいいと思います。プロジェクト名とコンパイルしたりリンク処理したりする際に必要なコマンドラインプロパティも自動で生成されて、プロジェクト名に使われている名称は簡単に変更できるようなものではないです。 : プロジェクトの名前を入力欄に入れると勝手にソリューション名も同じ名前になるように自動で入力内容が更新されます。ソリューション名を変えたい!場合はプロジェクト名を入力しおわった後に、ソリューション名を入力しましょう。ソリューションをコピーしたり、プロジェクトをコピーしたりするのは、それほど単純なものではありません。プロジェクトを作ってから、あとで、フォルダ毎違うところに移動させようとか思っていると、ハマります。動作しなくなる場合があります。気を付けてください。人からもらったソリューションもパスが異なると思いますし、プロジェクトが外部のシステムを参照していたら、同じシステムを同じパスに配置しておかないと動作しないとか、山ほどの設定を確認する必要がある場合もあります。配布している人はそいういったタグイの細かいシステム調整をどういう風に解決し、どういう風な環境を構築しておかないといけないか、教えてくれる人は意外と少ないです。自分で気付け!っていうのも多いです。やさしい人は、手取り足取り教えてくれます。権利の関係で教えられないとか、自分で見つけて…とか、あってナカナカ複雑な世界になっています。それが普通なので、よく理解しておきましょう。プロジェクトやソリューションのコピーの方法とか、配布の方法は、また別の記事で書くかもしれません。それまでは違うとこ(書籍やWebSite)で調べてください。 : Win32アプリのウィザードは次のような画面遷移で作れます。よくわからないオプションのチェックボックスは今のところ無視しておきましょう。 :*'''空のプロジェクト'''にチェックを入れると、自分でイチカラ作る感じなので、初心者には、結構大変です。チェックをいれなければ、いきなりコンパイル・リンク処理すれば、ウィンドウが立ち上がるレベルまで自動でプログラミングされた状態から始められます。デフォルトの設定を修正するよりも、自分で作った方がはえーというレベルにまで達したときに役立つことになるオプションです。 :*'''MFC'''にチェックを入れるとMicrosoftFoundationClassという大きなクラスを利用してのプログラミングが出来ます。MFCを使いこなすのが得意になったら使えばいいと思います。あるいは、MFCプログラミング参考書をもっていて勉強する場合とか :*'''ATL'''にチェックを入れるとActiveTemplateLibraryを使ったプログラミングが始めやすい感じでプロジェクトが構成されます。StandardTemlateLibraryのマイクロソフト版と思っていただければよいかと思います。C++のテンプレートという概念を知らない人はまず、勉強しないとチェックを入れても無駄でしょう。勉強するときとかにチェックを入れてみると良いと思います。使いこなせる人で使いたい人はチェックを入れると良いでしょう。 :[[ファイル:20181024 Win32PrjNew1.png|600px|thumb|none|プロジェクトの新規作成Win32アプリ1]] :[[ファイル:20181024 Win32PrjNew2.png|600px|thumb|none|プロジェクトの新規作成Win32アプリ2]] : ちなみにコンソールアプリの場合は以下のような順番の画面になります。 :[[ファイル:20181024 Win32CslNew1.png|600px|thumb|none|プロジェクトの新規作成Win32コンソールアプリ1]] :[[ファイル:20181024 Win32ClsNew2.png|600px|thumb|none|プロジェクトの新規作成Win32コンソールアプリ2]] : '''プリコンパイル済ヘッダーファイル'''ってのは、拡張子pchとつくファイルで、これを使って、コンパイル処理を速くするという仕組みです。普通はチェックを入れておきます。 : '''Security Development Lifecycleチェック'''というのは、セキュアな関数だけを使っているかチェックするというもので、文字列操作関数なんかで準備されているxxxx_sという関数をちゃんと使って、文字数を指定して関数を利用してバッファをオーバーして文字列を代入するような関数の利用を禁止するためのチェックを行うということを意味しています。メモリの使い方をきちんと制限して文字列を代入するような仕組みにしているかチェックすることで予期せぬ、文字列代入によってシステムを悪用されるプログラムにならないことを目指すものです。 == '''プロジェクトのビルド''' == : ビルドというのは、makefileというコンパイルからリンクまでの流れを記述したアプリケーション生成のための一連コマンドを記述したファイルを実行するようなことを意味していて、ビルドによってVisual Studioで指定した各種コンパイルオプションやリンカーオプションを適用しながらコンパイルとリンク処理がなされます。プロジェクトには複数のプロジェクト構成が含まれることがありまして、x64 64ビットアプリのReleaseバージョンであったりDebugバージョンであったり、x86 32ビットアプリのReleaseバージョンであったりDebugバージョンを構成しているもので、他にもソリューションに複数のプロジェクトがあれば、それらも一気にビルドしたりと、これらの複数の構成を一気にビルドするバッチビルドというものも存在しています。更新されたプログラムの差分だけをビルドによって生成するのが普通で、最初から全てをビルドする必要がある場合にはリビルドという作業を実施します。リビルドはビルドよりも時間がかかる作業になります。 :*'''ビルド''' :Ctrl+Shift+B もしくは メニューの「ビルド」-「ソリューションのビルド」で実行できます。 :*'''リビルド''' :メニューの「ビルド」-「ソリューションのリビルド」で実行できます。 :*'''バッチビルド''' :メニューの「ビルド」-「バッチビルド」でバッチビルド ダイアログが起動し、各構成アイテムのビルド欄のチェックボックスをONにしたものを対象に、ダイアログにあるビルド ボタンでビルドが、リビルド ボタンでリビルドができます。 == '''プロジェクトのデバッグ''' == : 先の項目でプロジェクトの構成にはReleaseとかDebugとかっていうのがあると説明しましたが、Releaseは作成したプログラムを人に配布してとか、自分で実際に使うとかするときに、ビルドして作成するプログラムで、動作させるためだけに特化した、いたってスリムな構造のプログラム、いわば作られたプログラムを使用するにあたって最適化されたバイナリの状態のプログラムを出力するバージョンと言ってもよいと思います。DebugはReleaseの反対語みたいなもので、余計なものを含んだプログラムでして、余計なといってもプログラムが完成する前の段階で、動作に問題が起こらないかをチェックすることができる構造を含んでいると言ってよいと思います。プログラムのサイズも少し大きいです。何よりも動作の途中で、プログラムをとめて、その状態で各種変数にどういう内容が保持されているかをチェックしたり、Debug用にイミディエイトウィンドウとよばれる出力ウィンドウにどういう動作をしたかをテストプログラムの中で文字列として出力させる指定をして、どんな風に動いたかを知るための仕組みを保持しているバージョンになります。 : Releaseバージョンとしてビルドするまでは、開発ではずっとデバッグバージョンで開発を進めることになりますので、基本はデバッグバージョンだけをビルドするという作業が多くなるはずです。ひとからもらったプログラムをビルドするだけの人なら、デバッグは一切しないかもしれませんが…。そういう人は、あんまり、ここには来ないと思います。 : で、そのDebugバージョンのプロジェクトの構成を使っているとして、思ったところでプログラムをいったん止めて、変数の中身を確認するという作業をどうするか?そして、とめたあとにプログラムを1命令づつ動かして、どういう動きをしているかを追っていく方法とか、いわゆるデバッグ作業の方法を基本的な使い方の記事の項目として記述しておきたいと思います。デバッグは基本的なことっていうことです。あ、デバッグっていうのは、プログラムのバグ=不都合・虫をデ=取り除くという意味合いでして、プログラムのチェック作業自体をデバッグというようになっています。こんな僻地にたどりついた人は、知ってる人の方が多いかもしれませんが、念のため。 '''手順''' :'''<big>1.</big>'''先の項目で実施した新規作成の自動で生成されたプログラムの中にはプロジェクト名に拡張子.cppという名前が付けられたファイルがあって、そのファイルの内容がメインのテキストエディタみたいなところで最初から開かれているはずでして、開かれていない場合は、割かし大変なので、カンで開いてください。いや、割かし難しいっすねイキナリデバッグから説明するってのは…でも、Visual Studioの各種ウィンドウの使い方とかの説明からやると退屈だと思うんです。カンでは開けないかもしれないので、開いていない場合は[[VC PlusPlus:Cppファイルの開き方]]に説明をかいておくので、開いてください。で、その135行目くらいに、下記の画像のような部分があるはずなので、このへんで、プログラムの動作を止めて、デバッグのなんたるかを勉強してみましょう。自分が指定した部分は、自動で作られたWin32アプリのメニューのバージョン情報ってのをアプリケーションを使うユーザがクリックしたときに実行される部分です。 :[[ファイル:20181030 DebugBreakPoint.png|600px|thumb|none|BreakPointの位置選択]] :'''<big>2.</big>'''そしたら、この135行目、あるいは、Visual Studioのバージョンとかの違いで、少し行がずれているかもしれませんが、同じ部分にメモ帳とかで文字を編集する対象となるカーソルがある状態にして、この行をマウスでクリックしたり、この行の近くにあるカーソルを矢印キーとかで対象の行までもってきたりしましょう。そしてキーボードの[F9]を押しましょう! :すると… :[[ファイル:20181030 DebugBreakPointMark.png|600px|thumb|none|BreakPointのマーク]] :上記のように対象の行の横に赤い丸印がついたと思います。ここでプログラム止めます!の印です。キーボードの[F9]で止める場所として登録できましたが、他にもメニューの「デバッグ」-「ブレークポイントの設定/解除」を使ってもいいし、対象行の真上とか、対象行の文字を選択した状態で右クリックして表示されるコンテキストメニューの「ブレークポイントの設定/解除」でも同じ操作ができます。あるいは赤丸が表示されたところをクリックするだけでも同じことができたりとやり方が何通りもあります。ひとつの操作をするのにいろんなやり方があるせいでどんどん説明がながくなります。いやっす(汗。読んでる人も説明が長すぎていやっす(汗ってなったひともいると思います。ある程度、オーソドックスなやり方は網羅して説明しつつ、なので我慢して読みすすめてもらえるといろいろ理解できると思います。そしたら、次! :'''<big>3.</big>'''キーボードの[F5]キーを押しましょう。デバッグが開始されます。割かし時間がかかる人もいれば、すぐに以下の画面になった人もいると思います。 :[[ファイル:20181030 Debug1.png|600px|thumb|none|デバッグ画面1]] : デバッグの開始もいろいろ操作方法がありまして、メニューの「デバッグ」-「デバッグの開始」を選択しても同じことです。あとはツールバーのコレをポチっと押したりしても同じです。 :[[ファイル:20181030 DebugStart.png|600px|thumb|none|デバッグ開始ボタン]]
VC PlusPlus:基本的な使い方
に戻る。
個人用ツール
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
操作
検索
案内
メインページ
コミュニティ・ポータル
最近の出来事
最近の更新
おまかせ表示
ヘルプ
ツールボックス
リンク元
関連ページの更新状況
特別ページ