Wie kompiliere ich ein Programm, das pthread.h benutzt?


14

Ich bin ein Anfänger und ich bin neu in Ubuntu. Ich habe es gerade installiert und möchte ein C-Programm ausführen. Ich habe keine Ahnung, auf welcher Plattform oder wo ich den Code schreiben soll. Ich muss die Header-Datei pthread.h im Programm verwenden. Kann mir jemand helfen?


Antworten:


21

Verwenden:

gcc MyProgram.c -o MyProgram -lpthread 

und vergessen Sie nicht, die POSIX-Bibliothek in Ihren Code aufzunehmen. Es wird Ihren Code kompilieren.


2
Standardmäßig enthält GCC die pthread-Bibliothek nicht. Daher müssen Sie die Bibliothek mit dem Argument lpthread einbinden.
Parthiv Shah

Beachten Sie auch, dass es in gcc-4.8 kein -lpthreadArgument in gibt man gcc. Aber es gibt ein -pthreadArgument. Beide funktionieren gut unter Ubuntu 14.04 mit gcc-4.8.
Elijah Lynn

1

Wenn Sie ein C-Programm mit pthread.h unter LINUX mit GCC oder G ++ kompilieren möchten, müssen Sie nach dem Kompilierungsbefehl die Option –lpthread verwenden .

gcc xyz.c -o xyz -lpthread

Hier,

gcc ist der Compilerbefehl (Compilername)
xyz.c ist ein Quelldateiname.
-o ist eine Option zum Erstellen einer Objektdatei.
xyz ist der Name der Objektdatei (binär).
-lpthread ist eine Option für pthread.h

Für mehr Details hier ist der Link, der den vollständigen Artikel darüber enthält.
C-Programm mit pthread.h unter Linux kompilieren.


0

Das erste, was Sie in Ubuntu zum Kompilieren von C / C ++ - Programmen benötigen, ist die Installation von GCC (Gnu Compiler Collection), das Teil des build-essentialPakets ist. Führen Sie dazu Folgendes aus:

sudo apt-get install build-essential

Dann können Sie testen, ob Sie es installiert haben, indem Sie es ausführen gcc. Wenn Sie Fehler wie sehen Fatal error: file not provided(nicht sicher genaue Fehlermeldung, sollte aber etwas ähnliches sein), bedeutet das, Sie haben Compiler bereit.

Um Ihren Code zu bearbeiten, können Sie bereits verfügbares Gedit verwenden . Suchen Sie einfach in Dash danach.

Im Folgenden finden Sie die Syntax zum Kompilieren Ihrer C-Quelldatei. Führen Sie sie an der folgenden Stelle aus, an der sich Ihre Datei befindet:

gcc MyProgram.c -o MyProgram

Wobei der Schalter -ooptional ist, aber den Namen der Binärdatei angibt, die aus Ihrer Quelle erstellt werden soll.

Dann führen Sie einfach ./MyProgramIhre Binärdatei aus.

Beachten Sie, dass, pthread.hwie Sie bereits erwähnt haben, (POSIX-Thread) standardmäßig in GCC verfügbar sein sollte. Wenn Sie es also einfach in Ihre C-Datei aufnehmen, hilft eine einfache Google-Suche, falls es nicht verfügbar ist. ;)

Aktualisieren

Zu lange nicht gelesen? überprüfe das . : D


0

Wenn es einen Fehler gibt, können Sie denselben Befehl ausprobieren, indem Sie die Parameter wie folgt austauschen

gcc -lpthread -o output_file program_pthread.c

Danach ./output_fileliefert Ausgangs für Programm und hier program_pthread.cist die pthread Programm implementiert haben.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.