将C++源码从HP的aCC编译器移植到RedHat的g++编译器的问题
环境
gcc的版本2.95
OS:HP-UX name B.11.00 U 9000/800
所有不涉及到多线程的程序移植后,都能正确的运行,
但是使用多线程的程序,在编译的时候报出头文件unistd.h和头文件pthread.h中方法extern int pthread_atfork的声明冲突,
将unistd.h头文件中的该声明屏蔽后,编译程序通过。
但是编译成功的程序运行时,总是Memory fault(coredump)。查看core文件,毫无头绪。
编译的参数如下:
CPPLAG = -g -c -pipe -fomit-frame-pointer -D_REENTRANT -D_THREAD_SAFE
LDFLAG= -lnsl -lxnet -lm -lpthread
请问,使用g++在HP下编译多线程程序时,是否有特殊的链接库或者编译参数?导致这个问题的原因可能是什么呢?