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 に答える