2016-08-22 8 views
3

IDEなしでGCCを使用すると、* .hファイルと* .cppファイルを作成するだけで済みます。Visual Studio 2005の空のプロジェクトとwin32コンソールプロジェクトの相違点

しかし、VS2005では空のプロジェクトを作成するには2つの方法があります。最初に "一​​般 - >空プロジェクト"を使用し、2番目の方法は "Win32 - > Win32コンソールプロジェクト - >次 - >空プロジェクト"です。

公式exampleは、私が最初の方法を優先している間に2番目の方法をお勧めします。

これらの違いは何ですか?

win32コンソールプロジェクトでは、 "subsystem"は "console"、 "Character Set"は "unicode"です。しかし、空のプロジェクトでは、 "サブシステム"は "NoSet"、 "Character Set"は "マルチバイト"です。これは何を意味するのでしょうか?

答えて

3

「空のプロジェクト」は次のとおりです。空です。具体的な設定はまったくありません。自分で設定する必要があります。空の "コンソールプロジェクト"の場合、IDEはコンソールプロジェクト用の素晴らしいフラグと設定でプロジェクトを設定しますが、ファイルは追加しません。

コンソールプログラムが必要な場合は、コンソールプロジェクトタイプを使用するのが最も確実です。

+0

ありがとうございました。それは私が "一般的な - >空のプロジェクト"を使用し、それからtest.hとtest.cppファイルを追加し、gccのようにビルドすると、間違ってしまうのでしょうか?私はそれにテストをします。 –

+0

上記の操作を使用するとうまくいくので、私はまだ混乱しています。しかし、私は "win32コンソールプロジェクト"は一般的な方法であるため、あなたの提案を受け入れます。 –

+0

@jiahilegassそれは私が推測していることにたくさん依存しています。それがうまくいくなら、Windows API(これは実際のGUIよりもはるかに多く使用されています)を使って作業するためには、コンソールプロジェクトテンプレートによって設定されたフラグや設定の一部が必要になるかもしれないことに注意してください。 –

2

@JoachimPileborgの答えに追加するには、プロジェクトサブシステムの仕様が重要です。 VS2005の場合、対象となるサブシステムの一覧があります。https://msdn.microsoft.com/en-us/library/fcc1zstk(v=vs.80).aspx

空のプロジェクトの場合は設定されません。コンソールの場合

、それは私がコンソールプロジェクト内の#includeは、ANSI標準ではありませんWin32コンソールプロジェクトにそれを設定することはお勧めしますが、

+0

助けてくれてありがとう。プリコンパイルされたヘッダーは常に私のような緑の手を混乱させるので、私はそれを好む。しかし、私は自分自身でそれに関する知識を学ぼうとします。 –

0

をプリコンパイル済みヘッダーのフラグを削除し、それが空になるだろう

をコンソールに設定します他のコンパイラでは動作しません。

関連する問題