profile-generate не будет генерировать gcda-файл - PullRequest
0 голосов
/ 27 апреля 2018

Я упростил мой источник, как показано ниже:

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 не создавалась?!

...