如何在 VC++ 中使用 _W64 和 __w64?

2024-04-29

有这样的事情__w64 http://msdn.microsoft.com/en-us/library/s04b5w00(VS.71).aspx在 Visual C++ 9 中。我在尝试将本机 C++ DLL 移植到 64 位时遇到了它。特别是在crtdefs.h有这个漂亮的片段:

#if !defined(_W64)
#if !defined(__midl) && (defined(_X86_) || defined (_M_IX86)) && _MSC_VER >= 1300
#define _W64 __w64
#else
#define _W64
#endif
#endif

如果我理解正确,则意味着对于 64 位 _W64 被定义为空字符串并且没有任何效果,但对于 32 位它被定义为__w64.

我尝试将 _W64 定义为空字符串并且__w64反过来,至少两次项目都可以在 64 位配置中正常编译。

这就是说_W64 and __w64看起来没用。我打算如何使用它们以及我应该如何定义_W64在 64 位项目中?


__w64用于标记 32 位和 64 位环境中具有不同大小的类型。当您将可能的 64 位类型分配给 32 位类型时,编译器可能会发出警告。

如果您切换MSDN:__w64 http://msdn.microsoft.com/en-us/library/s04b5w00.aspx查看最新版本,可以看到该关键字已被弃用。当您尝试使用 /Wp64 选项进行编译时,VC9 甚至会生成警告。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 VC++ 中使用 _W64 和 __w64? 的相关文章

随机推荐

  • Mysql乘法查询

    我有一个名为 产品 的表 其中包含一个名为 价格 的字段 我只想将每种产品的价格加倍 请您帮我提供一条可以在 PHP myAdmin 中运行的 SQL 语句 update products set price price 2
  • 如何使用 CodeIgniter 计算 MySQL 中给定行之前的行数?

    简单来说 如何计算某一行之前有多少行 我使用的是增量 ID 但行是随机删除的 因此仅检查 ID 是行不通的 比如说 如果我有 30 行 并且我根据名称 或任何实际内容 选择了一行 那么在该行之前有多少行 它可以是 16 1 12 或任何值
  • Winsock / BSD 套接字 - 接受目标 IP 不同于本地 IP 的 TCP 连接

    我将 LAN 上的一些传出 TCP 流量 最终也是 UDP 转发到本地 透明 代理服务器 然后再将其发送到互联网上 数据包似乎转发正确 我可以在 Wireshark 中看到 SYN 问题是绑定到端口X的accept 不接受与目标端口X的连接
  • 如何在C++中构建复合for循环?

    是另一个fora 的计数器部分 第三部分 允许循环for环形 在我尝试优雅地编写代码来生成直角三角形 我写了这个 但它无法编译 include
  • 如何将参数传递给 OLE 自动化对象(例如 MS Word)

    这主要是一个Delphi语法相关的问题 调用 OLE 对象的方法时 我需要将参数设置为 True 我需要在Word Automation中设置 这是来自词参考 http support microsoft com kb 285885 en
  • PHP APC 潜在的缓存猛击避免了密钥

    我在尝试使用时收到此错误apc store 我用谷歌搜索了一下 发现这是APC定时炸弹错误并看到了一些建议添加的修复apc slam defense Off 到 php ini 我需要知道这是否是由于编程错误而发生的 如果是 如何修复它 这
  • 动态或在构建时连接和缩小 JavaScript - ASP.NET MVC

    作为这个问题的扩展这里在用户控件中链接 JavaScript 库 https stackoverflow com questions 885990 linking javascript libraries in user controls
  • 请求响应后正文中出现奇怪的字符

    我正在使用 NodeJS 和 Request 来发布 JSON 并获取其中包含数据的结果 我使用 Postman 设置此请求 并获取完全可读的 JSON 数据 d type Qvision WoningenModule Lib aanbod
  • 使用 Boost.spirit 解析简单的重复文本宏

    我正在学习如何使用 Boost Spirit 库来解析字符串 这似乎是一个非常好的工具 但也很困难 所以 我想解析一个字符串 其中一些单词用 并将它们放入字符串向量中 这是一个例子 word1 word2 word3 这是一个简单的任务 我
  • 具有活动样式的 React router 无法按照我对根 URL 的要求工作

    我在主菜单中使用了这个 NavLinks 问题是当 测试 汽车 链接被点击 Test 链接也正在应用样式 我相信这是因为 Test 假设是其他链接的根 所以这是有道理的 但我想要 Test 应用活动样式时 链接也可以像其他链接一样工作 所以
  • Zip 文件是使用 Windows 路径分隔符创建的

    我使用下面的代码创建一个 zip 文件 Zip 已正确创建 然后在我的程序中 我尝试从此文件中获取 zip 条目 如果我打印一个 zip 条目名称 我会得到 Windows 路径分隔符 例如 a b c 但我需要这样a b c 我还没有发布
  • 为什么连接没有在我的 iSeries/ASP.NET MVC 4 应用程序中重用?

    我们正在 Windows 2008 服务器场上运行 MVC 4 Web 应用程序 我们一直在尝试将服务器场升级到 Windows 2008 R2 64 位服务器 但在 iSeries 运行 V7R1 上遇到了连接池问题 我们经常调用 DB2
  • C#中如何判断一个数是正数还是负数?

    C 中如何判断一个数是正数还是负数 bool positive number gt 0 bool negative number lt 0
  • Python while 循环查找素数

    作为 Python 的第一个练习 我尝试编写一个使用循环来查找素数的程序 一切都适用于 for 循环 所以我尝试使用 while 循环 这可行 但程序返回一些不正确的数字 import math looking for all primes
  • “致命错误:调用未定义的函数 socket_create()”,即使在 php.ini 中启用

    我有一个奇怪的 PHP 问题 我在 Windows 7 的 IIS 上运行 PHP 5 当我在 PHP 文件中调用 socket create 时 如下所示 sock socket create AF INET SOCK DGRAM get
  • 如何为任何 exe 创建安装程序?

    我有 NET exe 我想为此创建一个设置 并且在任何登录或重新启动后应自动调用此 exe 当您部署 NET 应用程序时 可以采用多种方法来应对这一挑战 选择安装程序策略时 您必须考虑许多问题 这些包括 我计划如何分发该软件 该软件是否应该
  • 全局变量和静态变量存储在内存段的哪里?

    在我的链接器脚本中 起始地址和大小如下 code start 90400000 code end 90a00000 data start 90b00000 size 3MB bss start 91200000 size 1MB 但是当我声
  • 如何在 Amazon Linux 上安装最新版本的 GDAL?

    我想安装GDAL https gdal org 在运行 Amazon Linux 的 EC2 实例上 我认为它基于 RHEL 6 如果可能的话 我想避免从源代码编译 EPEL Yum 存储库中包含的 GDAL 版本对于我的目的来说太旧了 g
  • Akka 和 ReactiveMongo

    我正在尝试找到在集群工作人员之间共享相同连接池的最佳方法 我有以下结构 Master Actor gt Worker Actors 最多 100 个或更多 gt MongoDB 我想在工作人员和 MongoDB 之间放置reactivemo
  • 如何在 VC++ 中使用 _W64 和 __w64?

    有这样的事情 w64 http msdn microsoft com en us library s04b5w00 VS 71 aspx在 Visual C 9 中 我在尝试将本机 C DLL 移植到 64 位时遇到了它 特别是在crtde