![](/img/trans.png)
[英]Project works in Visual Studio. But vscode + Omnisharp fails with "You need to specify platform (x86, Win32 or x64)" for Nuget pkg: ScreenRecorderLib
[英]Win32 and x64 Platform naming
我有一個提供API的應用程序,用戶可以調用該API來獲取應用程序平台描述。 這是我的枚舉:
/// <summary>
/// Target platforms
/// </summary>
public enum Platform
{
/// <summary>
/// 32-bit platform
/// </summary>
Win32,
/// <summary>
/// 64-bit platform
/// </summary>
X64
}
有人建議將X64
枚舉值重命名為Win64。 一方面,將其重命名為Win64
以與Win32
值對稱是有意義的。 另一方面,平台名稱x64
在Visual Studio和其他應用程序中廣泛用於描述Windows 64平台。
我的枚舉對嗎? 還是應該使用Win64
而不是x64
?
除了PC級x64(AMD64,x86-64)(每個要花費幾十到幾百美元)之外,還有用於高端服務器的英特爾IA64(Itanium)架構(每個要花費幾千美元)。
通常,我們的大多數軟件只能在x86和x86-64上運行,而不能在Itanium上運行。
也有Windows的Itanium版本。
因此,x64是更好的名稱。
不要以為任何人都可以對此給出正確的答案,因為什么是對的,對於這種事情是否是錯的,必須在開發團隊中確定。 如果您和其他人認為Win64
更清楚,也因為還有Win32
,請保留它。
只需選擇適合您的內容即可。
枚舉命名並非遵循某人設定的嚴格准則。
在這種情況下,我個人選擇Win64
。
我會說您選擇的是正確的。 正如您所說X64被廣泛使用,我從未見過有人將64位稱為Win64。 如果需要使它們對稱,則可以將Win32更改為X86。
盡管如果您的API可以在多個操作系統上使用,那么Win64可能會更好,假設它僅打算用於Windows,並且與其他OS等效。
親身? 我不確定是否有一個硬的解決方案...但是在大多數軟件包和Internet站點上,看到“ x86”和“ x64”比Win32和Win64更常見。 只是我的兩分錢。
該決定是純慣例,您必須在API中定義和正確記錄
Platform GetApplicationPlatform()
{
switch (IntPtr.Size)
{
case 4:
return Platform.X86;
case 8:
return Platform.X64;
default:
return Platform.Unknown;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.