jak skompilować program ac, który używa pthread.h?


14

Jestem początkującym i jestem nowy w Ubuntu. Właśnie go zainstalowałem i chcę uruchomić program C. Nie mam pojęcia, jakiej platformy użyć ani gdzie napisać kod. Potrzebuję użyć pliku nagłówka pthread.h w programie. Czy ktoś może mi pomóc?


Odpowiedzi:


21

Posługiwać się:

gcc MyProgram.c -o MyProgram -lpthread 

i nie zapomnij dołączyć biblioteki POSIX do swojego kodu. Skompiluje twój kod.


2
domyślnie GCC nie zawiera biblioteki pthread. więc musisz dołączyć bibliotekę używając argumentu lpthread.
Parthiv Shah,

Zauważ też, że w gcc-4.8 nie ma -lpthreadargumentu man gcc. Ale jest -pthreadspór. Oba działają dobrze na Ubuntu 14.04 z gcc-4.8.
Elijah Lynn,

1

Jeśli zamierzasz skompilować program C z pthread.h w LINUX za pomocą GCC lub G ++, będziesz musiał użyć opcji –lpthread po komendzie kompilacji.

gcc xyz.c -o xyz -lpthread

Tutaj,

gcc to polecenie kompilatora (nazwa kompilatora)
xyz.c to nazwa pliku źródłowego.
-o to opcja tworzenia pliku objcect.
xyz to nazwa pliku obiektowego (binarnego).
-lpthread jest opcją dla pthread.h

więcej szczegółów tutaj znajduje się link zawierający pełny artykuł na ten temat.
Kompilowanie programu C z pthread.h w systemie Linux.


0

Pierwszą rzeczą, której potrzebujesz w Ubuntu do kompilacji programów C / C ++, jest instalacja GCC (Gnu Compiler Collection), która jest częścią build-essentialpakietu, zrób to, uruchamiając:

sudo apt-get install build-essential

Następnie możesz przetestować, czy masz zainstalowany, uruchamiając gcc. Jeśli widzisz błąd podobny Fatal error: file not provided(nie jestem pewien dokładnego komunikatu o błędzie, ale powinien być podobny), oznacza to, że masz gotowy kompilator.

Aby edytować kod, możesz użyć już dostępnego Gedit , po prostu wyszukaj go w Dash.

Poniżej znajduje się składnia do skompilowania pliku źródłowego C, uruchom następujące miejsce, w którym znajduje się Twój plik:

gcc MyProgram.c -o MyProgram

Gdzie, przełącznik -ojest opcjonalny, ale podano nazwę pliku binarnego, który powinien zostać utworzony ze źródła.

Następnie po prostu uruchom, ./MyProgramaby uruchomić swój plik binarny.

Pamiętaj, że pthread.hjak już wspomniałeś (wątek POSIX) powinien być domyślnie dostępny w GCC, więc po prostu włączenie go do pliku C wykona to zadanie, w przypadku gdy nie jest ono dostępne, prosta wyszukiwarka Google powinna pomóc. ;)

Aktualizacja

Za długo, nie czytałeś? sprawdź to . :RE


0

Jeśli daje błąd, możesz wypróbować to samo polecenie, zmieniając parametry w podobny sposób

gcc -lpthread -o output_file program_pthread.c

po tym ./output_filezapewnia wyjście dla programu i oto program_pthread.cprogram pthread, który zaimplementowałeś.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.