2011年5月4日水曜日

拡張子が.cのファイルを追加する方法 - Visual C++

Visual C++
○2010 Express
Visual C++のプロジェクトでは、C++だけでなく、C言語のソースコードも扱う事が出来ます。
o 新しくCファイルを作る事が出来ます。
o 既存のCファイルをプロジェクトに追加する事も出来ます。


**** 手順
** 新しくファイルを作る方法
o 通常 Visual C++画面の左側にある、ソリューションエクスプローラーを見付けます。
    + 見当たらない時は、上のメニューから「表示(V)」-「ソリューションエクスプローラー(P)   Shift+Alt+L」
o 「ソースファイル」を右クリックして「追加」-「新しい項目(W)   Ctrl+Shift+A」
o 「新しい項目の追加」画面が出てきますので、C++ファイル(.cpp)を選択して、
o 画面下にある名前欄で、拡張子を付けて名前を書きます。(例。mikusan.c
o 書き終わりましたら、右下にある「追加(A)」ボタンを押します。

** 既存のCファイルを追加する方法
o 通常 Visual C++画面の左側にある、ソリューションエクスプローラーを見付けます。
    + 見当たらない時は、上のメニューから「表示(V)」-「ソリューションエクスプローラー(P)   Shift+Alt+L」
o 「ソースファイル」を右クリックして「追加」-「既存の項目(G)   Shift+Alt+A」
o 「既存項目の追加」画面が出てきますので、ファイルを選択して、右下の「追加(A)」ボタンを押します。


**** 確認したバージョン
o Microsoft Visual C++ 2010 Express


==
関連ページ:
    ▼Visual C++
    ▼コンピューター・プログラムを作る
    ▼制作メモ
    ▼目次
    > C/C++標準ライブラリを正しく使う時に、非推奨警告を出さない方法
    _tmain関数の代わりに main関数を使う方法
    UNIXの(POSIX準拠)プログラムをビルドする時に、なるべく警告やエラーを出さない方法

新規作成したプロジェクトからstdafx.hを完全に外す方法 - Visual C++

Visual C++
○2010 Express
Visual C++でプロジェクトを作成すると、stdafx.h が既定でインクルードされています。
stdafx.hを完全に外したい時は、ソースコード修正と合わせて、プリコンパイル済みヘッダーの設定を変更します。

o 主に、他のシステム用に作られたC言語のソースコードを、Windows用にビルドする時に使います。
    + コマンドプロンプト上でビルドする方法もありますが、移植の時は、Visual C++の画面上で作業する方が便利です。
o プリコンパイル済みヘッダーの設定を外さなくても、ビルド自体は成功します。
o stdafx.h は、自動作成された全てのソースコードから呼ばれています。通常は、そのまま使う方が便利です。


**** 手順
o 全てのソースコードから、stdafx.h のインクルード文を外します。
    + 次のように書かれている行を、削除します。
--------
#include "stdafx.h"
--------


o 次に、下記の手順で、プロジェクトのプロパティの「プリコンパイル済みヘッダー ファイル」から、「StdAfx.h」を外します。
    + 上のメニューから「プロジェクト(P)」-「(プロジェクト名)のプロパティ(P)   Alt+F7」
    +「プロパティページ」画面が出てきますので、左上の「構成」選択肢を「すべての構成」に変更します。
    + 左のメニューから、「構成プロパティ」-「C/C++」-「プリコンパイル済みヘッダー」
    + 右側で、「プリコンパイル済みヘッダーファイル」の右隣の文字「StdAfx.h」を削除します。
        + もしくは、「プリコンパイル済みヘッダー」の右隣の設定を、「プリコンパイル済みヘッダーを使用しない」に変更します。
    + 設定が終わりましたら、右下にある「OK」ボタンを押します。
o プロジェクトから外したいファイルを、削除もしくは除外します。
    + プロジェクトから外したいファイルを選択して、Deleteキーを押します。
    + 質問されますので、次のどちらかを選びます。
        + クリア = 選択したファイルをプロジェクトから外します。ファイルの削除はしません。
        + 削除 = 選択したファイルを削除します。プロジェクトからも外れます。
o リビルド、もしくはビルドしてみます。
    + そして、ビルドエラーの箇所を、順次修正していきます。


**** メモ
o この手順を行った時は、stdafx.cpp もきっと不要です。
    + 上記の手順を行うと、中身は空になっていると思います。


**** 確認したバージョン
o Microsoft Visual C++ 2010 Express


==
関連ページ:
    ▼Visual C++
    ▼コンピューター・プログラムを作る
    ▼制作メモ
    ▼目次
    > Win32コンソールアプリケーションをランタイム不要にする方法

_tmain関数の代わりに main関数を使う方法 - Visual C++

Visual C++
○2010 Express
Visual C++では、C言語やC++のスタートアップコードとして、_tmain関数の使用を推奨しています。
C/C++の標準仕様に従ってコードを書きたい時は、_tmain 関数を、main 関数に書き直す事が出来ます。


**** 手順
o 次のように書かれている部分を、main関数に置き換えます。
--------
int _tmain(int argc, _TCHAR* argv[])
--------


o 変更後の例
--------
int main(int argc, char* argv[])
--------


** 使用出来る書き方
o 引数は3つまでサポートしています。
    + 1つ目の argc は、引数の数。
    + 2つ目の argv は、引数の配列。
    + 3つ目の envp は、環境変数の配列へのポインタです。
--------
/* C言語風スタイル*/
int main(void)
int main(int argc, char** argv)
int main(int argc, char **argv, char **envp)

/* C++風スタイル */
int main()
int main(int argc, char* argv[])
int main(int argc, char *argv[], char *envp[])
--------



**** メモ
o Visual C++には、main関数に相当する関数が、少なくとも4つありました。
    + main 関数 = C/C++標準
    + wmain 関数 = Visual C++拡張。引数の文字セットは UNICODE(UTF-16)
    + _tmain 関数 = Visual C++拡張。ビルド時の文字セット切り替え可能
    + WinMain 関数 = Windowsの機能 = Win32 API
o コンソールアプリケーションを作る場合、通常は、main関数か、_tmain関数を使います。


**** 確認したバージョン
o Microsoft Visual C++ 2010 Express


==
関連ページ:
    ▼Visual C++
    ▼コンピューター・プログラムを作る
    ▼制作メモ
    ▼目次
    > UNIXの(POSIX準拠)プログラムをビルドする時に、なるべく警告やエラーを出さない方法
    Visual C++の文字セット設定を、マルチバイト文字セットにする方法
    新規作成したプロジェクトからstdafx.hを完全に外す方法