Visual Studio 2015で作成したC++プロジェクトにて、端折られているmain関数のコマンドライン引数を復活させる

By | Date : 2015/09/09 ( Last Update : 2016/04/12 ) | 697 views

Nia-TN-SDF-A2

こんにちはー!ニアです。

Visual Studioで用意されているプロジェクトウィザードから、C++コンソールアプリケーションのプロジェクトを作成した時にできるソースファイルですが、2013以前と2015ではmain関数の構成が異なっています

 

 

1. コマンドライン引数がない・・・だと・・・

Visual Studio 2013以前では、以下のようなソースファイルが作成されます。

※追加のオプションは「プリコンパイル済みヘッダー」と「Security Development Lifecycle (SDL) チェック」をオンにしています。

 

ところが、Visual Studio 2015では、main関数の名が「_tmain」(mainまたはwmainのマクロ)から「main」になり、コマンドライン引数が省略されています。

 

2. プロジェクトテンプレートを改造してみよう

もちろん、main関数の仮引数に追加すればコマンドライン引数を使用することができますが、

プロジェクトを新規作成する度に入力するのは煩わしいので、プロジェクトテンプレートを改造してしまいましょう。

 

改造するファイルは「Microsoft Visual Studio 14.0\VC\VCWizards\AppWiz\Generic\Application\templates\1041」にある「root.cpp」です。

※root.cppが管理者権限のフォルダーの中にある場合、一旦別の場所にコピーしてそれを編集し、元のファイルを上書きします。

注:念のため、改造する前にバックアップをとることを推奨します。

 

 

[!if CONSOLE_APP]」のところにあるmain関数に、コマンドライン引数を追加します。

 

もし、Visual Studio 2013以前のようなmain関数の構成にしたい場合、以下のようにします。

 

これで、プロジェクトウィザードからC++コンソールアプリのプロジェクトを作成した時に、main関数にコマンドライン引数が入った状態で始めることができます。

cpp2015main2

決して、「プロジェクト作成後のソースコードに細工する」というイカサマはしてませんよ(笑)

 

それでは、See you next!

この記事をシェアする
Chronoir.netのRSSフィードを購読する

About : ニア(Nia)

紅茶とコーヒーが好きな湘南生まれのプログラマー/ITエンジニアです。主にC#/C++/PHPを使ってプログラミングをしています。趣味は写真撮影と音ゲーです。時々イラストを描いています。プログラミングを勉強している方々と仲良くなりたいです! 興味を持っている分野:UWP/Xamarin/Android Wear/WPF/Windows/Visual Studio/WordPress/KUSANAGI/nginx

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*