共2条
1/1 1 跳转至页
请问怎么在c语言里面定义字对齐的数组?

问
小弟要定义一个首地址后8位bit都为0的一个数组,在汇编里和在bios里定义嫌太麻烦,有没办法直接用c语句来搞顶
先谢过 答 1: 对齐数组宏定义!#define DECLARE_ALIGN_ARRAY(type,name,size,alignment) \
type name##AlignArray[size+alignment];\
type *name = (type *)((unsigned long)(name##AlignArray+(alignment-1))& ~((unsigned long)(alignment)-1))
这样应用
DECLARE_ALIGN_ARRAY(int,test,500,256);
注意,只能在函数里面(局部数组)这样定义这样的数组宏,要想定义全局的对齐的数组宏,捎该动即可!
答 2: 感谢lczsx2000
先谢过 答 1: 对齐数组宏定义!#define DECLARE_ALIGN_ARRAY(type,name,size,alignment) \
type name##AlignArray[size+alignment];\
type *name = (type *)((unsigned long)(name##AlignArray+(alignment-1))& ~((unsigned long)(alignment)-1))
这样应用
DECLARE_ALIGN_ARRAY(int,test,500,256);
注意,只能在函数里面(局部数组)这样定义这样的数组宏,要想定义全局的对齐的数组宏,捎该动即可!
答 2: 感谢lczsx2000
共2条
1/1 1 跳转至页