Я очень новой для ОС Linux, так что я пытаюсь создать общую библиотеку ведьму будет начать нить у меня есть followin код:Создание потока в SharedLibrary возникает ошибка сегментации
Функция init_log не вызывает ошибку сегментации, которая не отображается в журнале, хотя может кто-нибудь сказать мне, почему?
Функция pthread_create вызывает ошибку сегментации, я использую derror(), чтобы напечатать это в журнале!
void __attribute__ ((constructor)) setup();
void init_log()
{
setlogmask(LOG_UPTO(LOG_NOTICE));
openlog("TRACKER",LOG_CONS | LOG_PID | LOG_NDELAY, LOG_LOCAL1);
}
void loop()
{
while (0 == 0)
{
syslog(LOG_NOTICE,"OK BOSS");
sleep(1000);
}
}
void setup()
{
pthread_t thread_id;
init_log();
syslog(LOG_NOTICE,"LIB LOADED"); // this doesn't display
pthread_create(&thread_id,0,&loop,(void*)(NULL));
}
КОМПИЛЯТОРА ЛИНКЕР PARAMS
**** Build of configuration Debug for project gt_trackers ****
make all
Building target: libgt_trackers.so
Invoking: GCC C Linker
gcc -shared -o "libgt_trackers.so" ./main.o
Finished building target: libgt_trackers.so
**** Build Finished ****
Вы можете оставить команду компилятора? – hmjd
@hmjd Редактировать вопрос – opc0de
Попробуйте добавить параметр '-Wall', чтобы компилятор показывал вам все, что вам не нравится, переводя ваш код ... ;-) – alk