사용할 수있는 경우 pthread_setname_np
기능을 사용하고 싶습니다. 맨 페이지에서 코드 :Glibc 기능 테스트 매크로를 사용하는 방법?
#ifdef _GNU_SOURCE
pthread_setname_np(pthread_self(), "mythread");
#endif
이 필요하지 않은 포함합니다 내가 사용하는 C++ #include <thread>
이 pthreads
를 당길 것 때문에 :
#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);
은 (없음, 아니 정의를 포함하지 않는) 그런 식으로 수행하는 것이 안전한가요 . _GNU_SOURCE
은 항상 libstdc++
에서 사용하도록 설정되며, 사용 중지되면 코드는 계속 컴파일됩니다.
이 나는 뭔가를 놓치고 있습니까?
[feature_test_macros (7)] (http://man7.org/linux/man-pages/man7/feature_test_macros.7.html)을 읽었습니까? –
@BasileStarynkevitch, 예. 그것은 표준 라이브러리가 제공하는 것을 제어하는 것입니다. 빌드가 어떻게 설정되었는지에 따라 프로그램의 기능을 활성화하는 데 관심이 있습니다. – Velkan
이 질문은 tag'd가'c' 인 것처럼 보이지만 실제 질문은'C++ '에 대해 논의했습니다. 이들은 다른 언어입니다. 하나 골라주세요. – user3629249