0

我正在尝试为 Alpha 架构交叉编译 x86 多线程代码。我面临的唯一问题是fetch_and_inc操作的实现,因为它是作为 x86 的内联汇编函数实现的。因此,它有一些特定于 x86 的指令被交叉编译器直接复制到汇编代码中,然后交叉编译器尝试将它们汇编为目标代码,但它不识别这些指令。

我想我有两个选择:要么fetch_and_inc用 c++ 而不是汇编来实现操作,要么用等效的 Alpha 代码替换 x86 汇编代码。

有什么想法或建议吗?

4

1 回答 1

1

我很确定您必须执行第二个建议的选项:“用等效的 alpha 代码替换 x86 汇编代码”。我挖出了这个关于如何在 Alpha CPU 上实现 fetch&inc 的解释:

http://h71000.www7.hp.com/doc/82final/5841/5841pro_018.html#ldx_stx

您使用的是哪个编译器的版本?某些编译器具有高级原子内在函数。如果您的编译器支持这样的功能,那应该会大大简化此任务。

于 2013-01-31T02:17:38.750 回答