gpt4 book ai didi

assembly - 使用 x86 CMPXCHG 比较和交换的 D 函数

转载 作者:行者123 更新时间:2023-12-02 19:25:16 27 4
gpt4 key购买 nike

我正在寻找一个呈现高水平的函数D接口(interface)atomic CAS在英特尔 x86 上。

我知道我可以使用内联 ASM 来做到这一点(如果需要的话我会这样做),但如果可以的话,我宁愿从其他人那里获取代码。

最佳答案

来自文档:http://www.digitalmars.com/d/2.0/overview.html

Inline Assembler

Device drivers, high performance system applications, embedded systems, and specialized code sometimes need to dip into assembly language to get the job done. While D implementations are not required to implement the inline assembler, it is defined and part of the language. Most assembly code needs can be handled with it, obviating the need for separate assemblers or DLL's.

Many D implementations will also support intrinsic functions analogously to C's support of intrinsics for I/O port manipulation, direct access to special floating point operations, etc.

因此理论上您可以直接使用 CMPXCHG。

<小时/>

编辑

您可能需要查看:http://www.dsource.org/projects/tango/browser/trunk/tango/core/Atomic.d?rev=4277

由于某种原因,加载确实需要一段时间,但它在内部使用 CMPXCHG 指令,根据您的目的重新调整它应该很简单。

关于assembly - 使用 x86 CMPXCHG 比较和交换的 D 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/616207/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com