作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在 MSDN 上,我看到了
InterlockedCompareExchange64
要求参数64位对齐,
但是为了
_InterlockedCompareExchange64
我认为没有这样的对齐要求,它是提到为 InterlockedCompareExchange64 提供编译器内在支持。
那么,这是否意味着我可以在不关心对齐的情况下使用 _InterlockedCompareExchange64?因为我不太清楚对齐在这里意味着什么。
最佳答案
我很确定这是一个文档错误,而不是两个函数之间的任何直接区别 - 因为它们导致完全相同的 CMPXCHG8B 指令。 [当然假设你正在寻找它在 SMP 系统上实际上是原子的 - 但它是一个非常专业的指令,所以我怀疑它有很多其他用途]。
关于c++ - _InterlockedCompareExchange64的用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18204830/
我正在将一些 C 代码从 GCC 移植到 Visual C++ 中,但在尝试将 SQLite3 添加为静态库时遇到了这个错误。 我已将 SQLite 编译为另一个 Visual Studio 项目,但
_InterlockedCompareExchange 的文档对每个参数说 The sign is ignored. 这是否意味着像 0xffff 和 0x7fff(对于 16 位版本)这样的数字将被
我是一名优秀的程序员,十分优秀!