Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 13. Nov 2018 21:08

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: POSIX-Threads in C++
BeitragVerfasst: 27. Sep 2005 9:52 
Offline
prolinux-forum-admin
Benutzeravatar

Registriert: 05. Mai 2004 7:35
Beiträge: 1238
Hi

Ich würde gerne pthreads in C++ verwenden, habe aber Probleme mit der Definition der Funktionen, welche von pthread_create() aufgerufen werden sollen:

Beispiel:
pthread.cpp:
Code:
#include <iostream.h>
#include <unistd.h>
#include <pthread.h>

class Test&#123;
	private&#58;
	void *do_something_else&#40;void *arg&#41;;
	
	public&#58;
	
	void do_something&#40;&#41;;
&#125;;

void Test&#58;&#58;do_something&#40;&#41;&#123;
	pthread_t thread1;
	
	pthread_create&#40;&thread1, NULL, do_something_else, NULL&#41;;
	sleep&#40;20&#41;;
	pthread_kill&#40;thread1, SIGTERM&#41;;
&#125;

void *Test&#58;&#58;do_something_else&#40;void *arg&#41;&#123;
	while&#40;1&#41;&#123;
		cout << "thread sleeps...\n";
		sleep&#40;3&#41;;
	&#125;
&#125;
Kompilieren:
Code:
g++ -Wno-deprecated pthread.cpp 
pthread.cpp&#58; In member function `void Test&#58;&#58;do_something&#40;&#41;'&#58;
pthread.cpp&#58;17&#58; error&#58; argument of type `void*&#40;Test&#58;&#58;&#41;&#40;void*&#41;' does not match `void*&#40;*&#41;&#40;void*&#41;'
Wie genau müsste die Definition der Funktion statt
Code:
void *Test&#58;&#58;do_something_else&#40;void *arg&#41;&#123;
...
&#125;
aussehen?


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 27. Sep 2005 10:55 
Offline
Pro-Linux
Benutzeravatar

Registriert: 15. Aug 1999 16:59
Beiträge: 3236
Wohnort: Bruchsal
Hi!

Da pthreads ein C-API ist (keine klassen), darf man natürlich keine Methoden eines Objektes aufrufen. Es sei denn, es sind statische Methoden. Dann kannst du im Wesentlichen aber auch gleich normale Funktionen nehmen.

Eine objektorientierte Thread-Klasse findet man z.B. in wxWidgets.

Gruß,
hjb

_________________
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 28. Sep 2005 3:55 
Offline
prolinux-forum-admin
Benutzeravatar

Registriert: 05. Mai 2004 7:35
Beiträge: 1238
Vielen Dank. (Langsam bekomme ich mit, an wen ich mich mit meinen C-Fragen wenden muss. ;-) )


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 3 Beiträge ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de