使用 Visual Studio 2010 / Windows 7 构建的 DLL =>可以在Windows 6上使用吗?
来自 Linux/Mac 开发人员的问题:我使用 Visual Studio 2010 在 Windows 7 下编译了一个 32 位 .dll(发布版本)。这个 .dll 是否可以在所有版本的 Windows 6(又名 Vista,如果我不是)下使用?错误)?
非常感谢并感谢 RTFM,
John Clements
Question from a Linux/Mac developer: I have compiled a 32-bit .dll (release flavor) under Windows 7 using Visual Studio 2010. Should this .dll be usable under all flavors of Windows 6 (a.k.a. Vista, if I'm not mistaken)?
Many thanks and RTFMs appreciated,
John Clements
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
总的来说:是的。
.Net 框架的所有当前版本都可以在 Vista 和 Win7 上运行。
请注意,如果您直接或通过 调用本机平台, http://code.msdn.microsoft.com/WindowsAPICodePack" rel="nofollow">Windows API Code Pack,如果您使用仅在 Win7 中提供的功能,可能会遇到可移植性问题。但对于直接的 .Net 开发,在任何受支持的 Windows 版本上运行应该没有问题。
In general: yes.
All current versions of the .Net framework run on both Vista and Win7.
Note that if you make calls into the native platform, either directly or via the Windows API Code Pack, you could have portability problems if you use functions available only in Win7. But for just straight .Net development, you should have no issue in running on any supported version of Windows.
是的,Windows 7 的 dll 格式没有改变。唯一要记住的是,如果它是 .Net dll,则目标系统必须安装正确的 .Net 或适当的 C/C++ 运行时。
Yes, the dll format didn't change for Windows 7. Only thing to remember is that if it's a .Net dll, the target system must have the proper .Net installed or the appropriate C/C++ runtime.
你应该 #define _WIN32_WINNT 宏来告诉你想要支持哪个版本的 Windows。 VS2010 附带的 SDK 中的默认值是 0x600,这可以避免您链接到 Vista 中不可用的 API 函数。所以,是的,你可能已经可以走了。
You're supposed to #define the _WIN32_WINNT macro to tell what version of Windows you want to support. The default in the SDK that ships with VS2010 is 0x600 which avoids you ever linking to an API function that is not available in Vista. So, yes, you're probably good to go.