在AIX(xlc)上将char与NULL进行比较是什么意思?

时间:2016-01-22 12:10:46

标签: null aix xlc

我正在将AIX代码移植到Linux。我在AIX xlc编译器上遇到了一些将char与NULL进行比较的代码。相同的代码在Linux上产生编译错误。

有代码将double与NULL(d!= NULL)进行比较。

有人可以解释在AIX(xlc)上将char或double与NULL进行比较的语义。

1 个答案:

答案 0 :(得分:3)

在AIX上使用xlc,“NULL”是“0”而不是“(void *)0”的宏,因此预处理器运行后的比较对char / int / double有效。

您可以在代码中使用xlc -E或gcc -E查看此内容。

永远不要将它用于任何事情 - 这只是琐事。修复您的代码,使其在非指针上下文中不使用NULL。