为什么标准不支持可变参数宏?

时间:2014-07-18 12:27:30

标签: opencl

标准说:

  • 不支持可变参数宏和函数。

我可以理解,可能很难内联一个可变参数函数,因为该设备可能没有调用堆栈。但为什么不能使用可变参数宏?它只是预处理器的一种能力,甚至不能被编译器看到。有人可以解释为什么khronos不支持可变参数宏,而许多基于LLVM的OpenCL实现已经能够处理它而无需任何额外的修改吗?

另一个疑问,

  • 不支持预定义标识符。

他们的意思是什么Predefined identifiers?我是否禁止写#define M_PI 3.14之类的内容?

0 个答案:

没有答案