在C到D之间转换typedef时遇到问题

时间:2019-05-08 16:32:06

标签: c d

我是D编程的新手,我正在尝试将代码从C转换为D,我遇到的实际问题是

typedef double Vec __attribute__ ((vector_size(16))); 

...我尝试过:

alias Vez = double[16];

但是它可能没有用……有什么帮助吗?

1 个答案:

答案 0 :(得分:3)

core.simd.Vector可以做类似的事情。我不确定到底有什么区别,但是我确定有一些区别。

我知道的是Vector接受元素数量而不是字节大小,所以

typedef double Vec __attribute__ ((vector_size(16))); 

成为

import core.simd : Vector;
alias Vec = Vector!(double[2]);

但是,DMD仅支持x64。它适用于32位和64位体系结构的LDC,我相信GDC也是如此。