为了使用GCC内置函数,我是否必须包含一些头文件?

为了使用GCC内置函数,我是否必须包含一些头文件?,gcc,built-in,Gcc,Built In,其动机是我想告诉编译器我的float*U数组是64字节对齐的,这样编译器就可以进行向量化了 如果使用英特尔编译器,我可以使用uu假设U对齐(U,64);我在谷歌上搜索发现,如果我想使用GCC做同样的事情,我必须定义另一个float*U_tmp=\U内置的\U假定\U对齐(U,64),并使用U_tmp。但是,当使用GCC进行编译时,编译器报告 “错误:“\u内置\u假定\u对齐”未在此范围内声明” 我不知道是否遗漏了一些包含此GCC内置函数的库或头文件。这应该是开箱即用的,没有任何额外的头文件。但

其动机是我想告诉编译器我的float*U数组是64字节对齐的,这样编译器就可以进行向量化了

如果使用英特尔编译器,我可以使用uu假设U对齐(U,64);我在谷歌上搜索发现,如果我想使用GCC做同样的事情,我必须定义另一个float*U_tmp=\U内置的\U假定\U对齐(U,64),并使用U_tmp。但是,当使用GCC进行编译时,编译器报告 “错误:“\u内置\u假定\u对齐”未在此范围内声明”
我不知道是否遗漏了一些包含此GCC内置函数的库或头文件。

这应该是开箱即用的,没有任何额外的头文件。但是,这只是添加到GCC 4.7中,可能您的编译器比它旧?

是。我已经确认我使用的编译器版本是GCC4.3。我刚刚安装了GCC4.8.2,它可以正常工作!