__attribute __((弱))不起作用

时间:2017-11-06 05:13:44

标签: linux gcc weak

我写了下面的代码:

#include<stdio.h>
#include<pthread.h>

int pthread_create(
        pthread_t*,
        const pthread_attr_t *,
        void* (*)(void *),
        void*)  __attribute__ ((weak))  ;


int main(){
    if (pthread_create) {
        printf("multi-thread");
    } else {
        printf("single-thread");
    }
}

以不同的方式编译代码并运行它时,它会显示相同的结果。代码如下:

zoushengfu@zoushengfudeMacBook-Pro:~/Documents/code/c++$ gcc -o pt
pthread.cpp  
zoushengfu@zoushengfudeMacBook-Pro:~/Documents/code/c++$ ./pt 
multi-thread
zoushengfu@zoushengfudeMacBook-Pro:~/Documents/code/c++$ gcc -o pt pthread.cpp -lpthread
zoushengfu@zoushengfudeMacBook-Pro:~/Documents/code/c++$ ./pt
multi-thread

我想知道为什么在编译时我使用库 pthread 的结果是一样的。使用 __ attribute __((弱))

时会出现一些错误

0 个答案:

没有答案