【发布时间】:2016-03-19 01:21:03
【问题描述】:
我正在编写一个基于 pthread API 的 C 线程辅助库。有很多 pthread 函数是非标准的 GNU 扩展,例如pthread_set_affinity_np、pthread_clear_exit_np、pthread_set_qos_class_self_np 等。
有没有什么方法可以使用宏来测试这些不可移植的功能是否可用,而无需查找哪些操作系统定义了什么?
【问题讨论】:
-
dlopen()pthread-library,然后是dlsym()函数名? -
@EOF 我从来没有听说过这些功能。我会查一下。
-
@EOF 似乎这些函数是在运行时调用的,不是吗?理想情况下,我想要一个预处理器解决方案。
-
“预处理器解决方案”称为宏。类似
#ifdef pthread_set_affinity_np -
@EOF 是的,在我的问题中,我问是否有办法为此使用宏。
标签: c++ c pthreads portability