我尝试编写两个兼容POSIX的操作系统共享的POSIX兼容代码,即QNX和Linux版本。
我刚刚发现函数返回值的规范存在细微差别,例如: pthread_mutex_trylock()
。一个文档说它返回EOK
(评估为0
)另一个文档说它在成功的情况下返回普通0
。
我假设我可以安全地查看返回值== 0
或!= 0
,并避免使用QNX EOK
宏。
我的问题:
EOK
(不是0
)POSIX兼容的函数吗?EOK
是否属于某些标准?答案 0 :(得分:3)
0
表示成功。EOK
等于0
,则QNX实施符合POSIX标准。但是,如您所说,在您自己的代码中使用0
以确保它在所有平台上编译。EOK
更清楚,那么你可以在你的程序中写下这个:
#ifndef EOK
#define EOK 0
#endif