忍者ブログ

神戸電子専門学校ゲームソフト学科の生徒が運営するGESのブログです。

   

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

VisualStudioを少しでも使いこなそう~ビルドの構成編~その3

その3になりました
その2を読んでない方はこちら

今回は、新しい構成をつくっていきます

何故そんなことするかというと、

デフォルトのDebugだと、デバッグのために用意されたコードがコンパイルされます(#ifdef DEBUG内のコード)
デバッグ用のコードというのは、ある程度厄介なバグに対処したい時のためにあります
そのため、開発時などにはそのコードは不要

実際そのコードがある場合とない場合では、実行速度にも差がでますしね

というわけで、開発時やちょっとしたバグに対処する時に使う用のビルドターゲットをつくっていきたいと思います
 

拍手[0回]



image5.png










赤枠内の構成マネージャを開きます



image6.png


















そしたら、こんなウィンドウがでるので、[アクティブソリューションの構成]の[新規作成]を選びます

image7.png















今度はこんなウィンドウがでるので、名前を入れます
一往名前は『Profile』にしておきます
[設定のコピー元]を[空]から、[Debug]に変更します
そしてOKを押すと、構成が1つ増えてます

image9.png
















ただ、これだけだとたぶんDebugと同じになるので、プロジェクトのプロパティのC/C++のコード生成のランタイムライブラリが『マルチスレッドデバッグDLL』になっている場合は、『マルチスレッドDLL』に変更してください
ここが、デバッグってついてる項目の場合、_DEBUGが定義されてしまい、目的が果たされません


これで当初の目的は達成なのですが、せっかく設定内容をその2で解説したので、いくつかいじっていきたいと思います

その2と同じく[プロジェクト]の[○○(プロジェクト名)のプロパティ]を開きます

image8.png
















開いたら、構成のところがデフォルトでさっき作ったのになってると思いますが、なってなかったら変更

まずは、C/C++のプリプロセッサのプリプロセッサ定義に『_PROFILE』とでも定義しておきましょう
こうすることによって、#ifdefなどでどのビルドか判断することができます
例えば、
#ifdef _PROFILE
   デバッグキーの処理
#endif

のようなことをすれば、Releaseビルド時には自動的にデバッグキーがなくなり、完成後にデバッグキーを取り除く手間が省けたりします
これは結構実用的だと思います

次に、リンカの全般の出力ファイルを変更したいと思います
デフォルトでは『$(OutDir)\$(ProjectName).exe』となっていると思いますが、これを『$(OutDir)\$(ProjectName)_p.exe』とでもしておけば実行ファイル名が『○○(実行ファイル名)_p.exe』
になります
出力した実行ファイルをみるだけで、これはProfileビルドで作った実行ファイルだと判断できます
また、ファイル名が異なるので、同じディレクトリに置くこともできます


ゲームなど結構大きなプロジェクトになると、このProfileビルドを使うことで、Debugビルドより実行速度の向上や実行ファイルの容量を減らすことにつながります


ビルドの構成編はこれで終わりになります
微妙な内容だったかもしれませんが、各学年の制作実習みたいなある程度大きなプロジェクトで開発する場合は知ってると地味に役立つと思います

 

PR

COMMENT

NAME
TITLE
MAIL(非公開)
URL
EMOJI
Vodafone絵文字 i-mode絵文字 Ezweb絵文字
COMMENT
PASS(コメント編集に必須です)
SECRET
管理人のみ閲覧できます

ブログ内検索

最新コメント

[01/29 人面犬]
[10/01 8ch]
[09/12 uncle]
[09/10 某卒業生]
[06/07 uncle]

カレンダー

10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

テスト

Copyright ©  -- GESブログ --  All Rights Reserved
Design by CriCri / Photo by Geralt / powered by NINJA TOOLS / 忍者ブログ / [PR]