2013-07-11 6 views
14

私はVisual Studioを使ってC++プログラミングを行い、x86環境(32ビットモード)で作業してプログラムを書いた後、x86プロジェクトをビルドしようとしましたx64環境ではwin32コンソールプロジェクトの代わりにwin64コンソールプロジェクトを作成するべきだと思っていましたが、VC2010にはオプションがありませんでした。 x64プロジェクトをビルドするためにwin32プロジェクトを選択し、hereの命令を使ってプロジェクト内のx64でコンパイルするための設定を変更する必要がありますか?ビジュアルスタジオの "win32 project"の名前はどうですか?

私はWindows 7 64bitを使用しています。

答えが「はい」の場合、なぜwin32と呼ばれますか?

+4

Win32は、32ビットまたは64ビットのAPIを参照できます。そのほとんどは同じです。 – chris

+8

人々はまだ電話番号を「ダイヤル」するのと同じ理由で、「win32」と呼ばれています。つまり、それをそれと呼ぶのが理にかなった時からのキャリーオーバーです。 win32が登場したとき、それは普通の16ビットWindowsと区別するために名前が付けられました。当時、PCの32ビットアーキテクチャは、驚くべき進歩でした。 – wallyk

+0

可能な複製[64ビットビルドで\ _WIN32と\ _WIN64の両方を定義する必要がありますか?](http://stackoverflow.com/questions/6679396/should-i-define-both-win32-and-win64-in-64bit-ビルド) –

答えて

10
  • "Win32"はOS APIの名前です。
  • 「Win32コンソールアプリケーション」は、その名前をAPIから取得しました(ビット単位ではありません)。

Win32 APIは、32ビットアプリケーションと64ビットアプリケーションの両方で使用できます。したがって、Win32コンソールアプリケーションは、32ビットと64ビットの両方で構築できます。後者の場合は、Configuration Managerで「x64」構成を作成します。

+4

正確に。 _Wind32 API_ [同義語](http://msdn.microsoft.com/en-us/library/vstudio/bb384843.aspx)_Windows API_です。我々は64ビットの世界にいるので、_Win32 API_ _Win32_の短縮は特に誤解を招く言葉です。 –

0

私は間違っているかどうかは分かりませんが、基本的にコンソールプログラムをx64プラットフォームにセットアップする際に問題があります。

エクスプレスバージョンを使用している場合は、適切な Microsoft Windows SDK for Windows 7 and .NET Framework 4とSP1をインストールする必要があります。そうしないと、x64プラットフォームオプションは利用できなくなります。あなたはすでにこれをしましたか?

これを実行すると、x64への切り替えがかなり簡単になります。プラットフォームのドロップダウンリストにオプションが表示され、コンパイルがうまくいけばいいのですが、Win32構成を使う必要はありません。

+0

いいえ私の環境をx64プラットフォームに設定する際に問題はありません。しかし、あなたのコメントのおかげで – PsP

4

かなりの他の答えはそれがカバーしているが、私は以下の明確化を追加するかもしれないと思った:

X86のIntel/AMDの32ビットチップセットのためです。 Win32は、Windows MobileプロジェクトでARMなどの他のチップセットをサポートできます。

さらに、x86用のネイティブC++アプリケーションをビルドする場合、プラットフォームは実際にはwin32と呼ばれます。

+0

Win32で32ビットまたは64ビットプラットフォームを参照できる場合、Win32を使用して32ビットプラットフォームを参照するようVisual Studioに誤解を与えないでください。 –

+0

@KyleDelaney。私はあなたのコメントが別の答えを意図していると思う。しかし、私はいつでも自分の考えを追加します...デフォルトでは、Win32は64ビットではなく32ビットプラットフォームのみを参照しています。しかし、設定を変更したり設定したりすることができますので、64ビットにも適用されますプラットフォーム。そして、APIセット(実際のプラットフォームに関係なく)について話しているとき、人々はまだ「Win32」という用語を使用しているという点があります。 – Jahmic

関連する問題