Я упростил мой источник, как показано ниже:
void *thread1(void *param)
{
pthread_detach(pthread_self());
while(1)
{
sleep( 3 ) ;
printf("hello world in thread1 \n");
} //while
return NULL ;
} //thread1
int main()
{
pthread_t tid ;
pthread_create(&tid , NULL, thread1, (void*)3);
while(1)
{
sleep( 3 ) ;
printf("hello world in main \n");
} //while
} // main
и скомпилируйте его:
g++ --std=c++11 -fprofile-generate xxx.cpp -pthread -o xxx.exe
в g ++ 4.8.5, выполнить xxx.exe, не вижу xxx.gcda, и тогда я упростил
это к следующему ..... только основной поток !!
int main()
{
while(1)
{
sleep( 3 ) ;
printf("hello world in main \n");
} //while
} // main
и составлено:
g++ --std=c++11 -fprofile-generate yyy.cpp -o yyy.exe
в том же компиляторе g ++ 4.8.5 и выполните, yyy.gcda еще не создан !!
В простом случае, подобном описанному выше, что я пропустил, чтобы gcda не создавалась?!