0
如果可用,我会使用函数。从手册页代码:如何使用Glibc功能测试宏?
#define _GNU_SOURCE /* See feature_test_macros(7) */
#include <pthread.h>
int pthread_setname_np(pthread_t thread, const char *name);
int pthread_getname_np(pthread_t thread,
char *name, size_t len);
它是安全的只是做这样的(不包括没有定义):包括不需要
#ifdef _GNU_SOURCE
pthread_setname_np(pthread_self(), "mythread");
#endif
因为C++ #include <thread>
,我使用似乎拉pthreads
。 _GNU_SOURCE
始终在libstdc++
中启用,如果它被禁用 - 代码将仍然编译。
我错过了什么吗?
您是否阅读过[feature_test_macros(7)](http://man7.org/linux/man-pages/man7/feature_test_macros.7.html)? –
@BasileStarynkevitch,是的。它关于控制标准库提供的内容。我对激活我的程序功能感兴趣,具体取决于构建的方式。 – Velkan
看来这个问题被标记为'c',但实际问题讨论了'C++'。这些是不同的语言。请选择一个。 – user3629249