2013-07-11 249 views
14

我正在使用Visual Studio進行C++編程,並且在x86環境(32位模式)下工作並編寫程序之後,我嘗試構建我的x86項目在x64環境中,所以我認爲我應該創建一個win64控制檯項目而不是win32控制檯項目,但在VC2010中沒有這樣的選項。所以我想要問,爲了構建x64項目,我還應該選擇win32項目,並使用here中的指令更改項目內x64編譯的設置?什麼是Visual Studio中的「win32項目」名稱與x86或x64平臺的關係

我使用的是Windows 7 64位。

如果你的答案是肯定的,那爲什麼叫做win32?

+4

Win32可以引用32位或64位API。大部分是相同的。 – chris

+8

因爲人們仍然「撥打」電話號碼,所以稱爲「win32」。也就是說,從它有意義的角度來說,它是一種遺留物。當win32出現時,它被命名爲區別於普通的16位Windows。當時,個人電腦中的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位應用程序使用。因此,可以爲32位和64位構建一個Win32控制檯應用程序。對於後者,請在配置管理器中創建「x64」配置。

+4

正是。 _Win32 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是英特爾/ AMD的32位芯片組。 Win32可以支持其他芯片組,例如Windows Mobile項目中的ARM。

此外,當爲x86構建原生C++應用程序時,該平臺實際上將被稱爲win32。

+0

如果Win32可以引用32位或64位平臺,那麼Visual Studio使用Win32引用32位平臺會不會令人誤解? –

+0

@KyleDelaney。我認爲你的意見可能是爲了另一個答案。但是我會在任何情況下添加我的想法...默認情況下,Win32只會引用32位平臺,而不是64.但是,您可以修改和(錯誤)配置設置,因此它以某種方式適用於64位平臺。然後,當談論API集合時(無論實際的平臺如何),人們仍然使用術語「Win32」。 – Jahmic

相關問題