- 论坛徽章:
- 2
|
一个二十行的程序:
- #include<stdio.h>
- #include<sched.h>
- #include<unistd.h>
- #include<sys/types.h>
- extern int errno;
- int f(void*arg)
- {
- pid_t pid=getpid();
- printf("child pid=%d\n",pid);
- }
- char buf[1024];
- int main()
- {
- int ret=clone(f,buf,CLONE_VM|CLONE_VFORK,NULL);
- if(ret==-1){
- printf("%d\n",errno);
- return 1;
- }
- printf("father pid=%d\n",getpid());
- return 0;
- }
复制代码 g++4.1.2编译提示:
$g++ testClone.cpp
/usr/bin/ld: errno: TLS definition in /lib64/libc.so.6 section .tbss mismatches non-TLS reference in /tmp/ccihZbuv.o
/lib64/libc.so.6: could not read symbols: Bad value
collect2: ld returned 1 exit status
这是什么情况? g++ testClone.cpp -lpthread也不行啊
|
|