2

我正在阅读 Apple 的 OpenCL缩减示例,并注意到有一个用于访问数组元素的宏:

#define LOAD_GLOBAL_F1(s, i) \
((__global const float*)(s))[(size_t)(i)]

它是这样使用的:

float a = LOAD_GLOBAL_F1(input, i);

其中input是类型__global const float *isize_t

为什么float a = input[i]不在这里使用?谢谢!

4

1 回答 1

0

在此示例中,代码代码未按照您的建议使用宏编写。为什么使用宏是任何人的猜测:从其他地方重用的代码;基于 C 的内核测试框架;代码作者觉得它提高了可读性;等等等等

于 2014-08-07T12:39:16.143 回答