navi
28-09-2003, 09:47
Also ich hab irgendwie ein problem mit threads auf meinem sys.
Ich benutz gentoo und vei mir wollen alle beispielprogramme von irgendwelchen seiten net. Entweder sie lassen sich nicht direkt kompilieren oder ich bekomm beim ausführen einen Speicherzugriffsfehler.
Zum Beispiel:
#include <iostream>
#include <pthread.h>
#include <stdio.h>
#define NUM_THREADS 5
using namespace std;
void *PrintHello(void *threadid)
{
printf("\n%d: Hello World!\n", threadid);
pthread_exit(NULL);
}
int main(int argc, char *argv[])
{
pthread_t threads[NUM_THREADS];
int rc, t;
for(t=0;t<NUM_THREADS;t++){
printf("Creating thread %d\n", t);
rc = pthread_create(&threads[t], NULL, PrintHello, (void *)t);
if (rc){
printf("ERROR; return code from pthread_create() is %d\n", rc);
exit(-1);
}
}
pthread_exit(NULL);
return 0;
}
ist ein original programm von einer seite.
Bei mir läufts aber net.
Ich kompeliers mit
g++ -o test test.cpp
und ich bekomm keine fehler.
Trotzdem bekomm ich einen Speicherzugriffsfehler.
Kann mir jemand weiterhelfen?
Ich benutz gentoo und vei mir wollen alle beispielprogramme von irgendwelchen seiten net. Entweder sie lassen sich nicht direkt kompilieren oder ich bekomm beim ausführen einen Speicherzugriffsfehler.
Zum Beispiel:
#include <iostream>
#include <pthread.h>
#include <stdio.h>
#define NUM_THREADS 5
using namespace std;
void *PrintHello(void *threadid)
{
printf("\n%d: Hello World!\n", threadid);
pthread_exit(NULL);
}
int main(int argc, char *argv[])
{
pthread_t threads[NUM_THREADS];
int rc, t;
for(t=0;t<NUM_THREADS;t++){
printf("Creating thread %d\n", t);
rc = pthread_create(&threads[t], NULL, PrintHello, (void *)t);
if (rc){
printf("ERROR; return code from pthread_create() is %d\n", rc);
exit(-1);
}
}
pthread_exit(NULL);
return 0;
}
ist ein original programm von einer seite.
Bei mir läufts aber net.
Ich kompeliers mit
g++ -o test test.cpp
und ich bekomm keine fehler.
Trotzdem bekomm ich einen Speicherzugriffsfehler.
Kann mir jemand weiterhelfen?