機能が利用可能であれば使用したいと思います。 manページからのコード: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 'とtag'dされているようですが、実際の質問では' C++ 'について議論しました。これらは異なる言語です。選択してください。 – user3629249