我试图使用’aligned(16)’属性将函数字节对齐到16字节边界.我做了以下:void __attribute __((aligned(16)))function(){}
(来源:http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html)
但是当我编译(gcc foo.c;没有使用makefile或链接器脚本)时,我收到以下错误:
FOO.c:99:错误:可能没有为’function’指定对齐
我尝试调整到4,8,32等,但错误仍然相同.
我需要这个来为基于powerpc的处理器调整中断服务程序.这样做的正确方法是什么?
解决方法
为什么不在编译时将-falign-functions = 16传递给gcc?