初始化这些 double block 的最简单/最有效的方法是什么,最好是在编译时:
#define N 1000
double mul1[N][N] __attribute__ ((aligned (64)));
double mul2[N][N] __attribute__ ((aligned (64)));
它们用于“const
”只读测试数据。
最佳答案
有一个名为 Designated Initializers 的 GCC(不是标准 C!)功能
对于一维数组,它只是:
double array[N] = {[0 ... (N-1)] = MY_DOUBLE_VALUE};
对于 2D 有点棘手:
double array[N][N] = { [0 ... (N-1)] = {[0 ... (N-1)] = MY_DOUBLE_VALUE}};
关于c - 在 C 中初始化大块 double 的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1974342/