_mm_set1_epi32的运行时错误

时间:2017-03-26 13:13:00

标签: c++11 simd

我试图在某些项目中使用SIMD指令,一切正常,但我不能使用_mm_set1_epi32(x)命令(我仍然可以使用_mm_set_epi32(x,x,x,x)并且它工作正常)但是只要我想使用来自使用该命令的另一个源的代码,我就会得到一个"内存访问错误"消息(请原谅我没有正确的英文翻译错误,我尝试从德语翻译它是Speicherzugriffsfehler)

其他一些信息:

  • 我在一个空项目中得到错误,除了使用命令
  • 之外我什么都不做
  • 我没有其他命令就遇到了这个问题

对于代码示例,除此之外,没有什么内容可以发布:

int main() {
    __m128i test = _mm_set1_epi32(1);
}

错误是在运行时,编译没有问题。

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。我用来编译错误的标志,这也是我没有放任何代码的原因,它只是我尝试执行命令的1行,并且在主函数中包含它。

所以对于解决方案,我现在使用:

set.seed(24)
train <- as.data.frame(matrix(sample(c(NA, "", 1:5), 5*5, 
           replace=TRUE), ncol=5), stringsAsFactors=FALSE)

在我使用之前:

-g -std=c++11 -Wall   -pedantic -msse4.1 -v