pthread.h kullanan ac programı nasıl derlenir?


14

Ben bir acemiyim ve Ubuntu için yeniyim. Yeni yükledim ve bir C programı çalıştırmak istiyorum. Hangi platformu kullanacağım ya da kodu nereye yazacağım hakkında hiçbir fikrim yok. Programda pthread.h başlık dosyasını kullanmam gerekiyor. Biri bana yardım edebilir mi?


Yanıtlar:


21

kullanın:

gcc MyProgram.c -o MyProgram -lpthread 

ve POSIX kütüphanesini kodunuza eklemeyi unutmayın. Kodunuzu derleyecektir.


2
varsayılan olarak GCC pthread kütüphanesini içermez. bu yüzden kütüphaneyi lpthread argümanını kullanarak eklemelisiniz.
Parthiv Shah

Ayrıca gcc-4.8'de -lpthreadargüman olmadığını unutmayın man gcc. Ama bir -pthreadtartışma var. Her ikisi de gcc-4.8 ile Ubuntu 14.04 üzerinde iyi çalışıyor.
Elijah Lynn

1

GCC veya G ++ kullanarak LINUX'ta pthread.h ile bir C programı derleyecekseniz, compile komutundan sonra –lpthread seçeneğini kullanmanız gerekir .

gcc xyz.c -o xyz -lpthread

Buraya,

gcc derleyici komutudur (derleyici adı)
xyz.c bir kaynak dosya adıdır.
-o objcect dosyası oluşturma seçeneğidir.
xyz , nesne (ikili) dosyasının adıdır.
-lpthread pthread.h için bir seçenektir

daha fazla ayrıntı için, üzerinde tam makaleyi içeren bağlantı.
Linux'ta pthread.h ile C programını derleme.


0

C / C ++ programlarını derlemek için Ubuntu'da ihtiyacınız olan ilk şey, build-essentialpaketin bir parçası olan GCC'yi (Gnu Compiler Collection) kurmaktır.

sudo apt-get install build-essential

Ardından, yükleyip yüklemediğinizi test ederek test edebilirsiniz gcc. Gibi bir hata görüyorsanız Fatal error: file not provided(tam hata mesajından emin değilsiniz, ancak benzer bir şey olmalıdır), bu derleyiciye hazır olduğunuz anlamına gelir.

Kodunuzu düzenlemek için zaten mevcut olan Gedit'i kullanabilirsiniz , sadece Dash'de arayın.

Şimdi C kaynak dosyanızı derlemek için sözdizimi aşağıdadır, dosyanızın olduğu yerde aşağıdaki komutu çalıştırın:

gcc MyProgram.c -o MyProgram

Burada, switch -oisteğe bağlıdır, ancak kaynağınızdan oluşturulması gereken İkili dosyanın adını belirtmek için verilmiştir.

Sonra sadece ./MyProgramikili çalıştırmak için çalıştırın.

O Not pthread.hBahsettiğiniz şekilde basitçe bu işi yapacak C dosyasında dahil (POSIX Konu) ise kullanılamadığını durumda, basit bir Google arama yardımcı olmalıdır, GCC ile varsayılan olarak mevcut olmalıdır. ;)

Güncelleme

Çok uzun, okumadın mı? kontrol bu . : D


0

Hata veriyorsa, parametreleri benzer şekilde değiştirerek aynı komutu deneyebilirsiniz

gcc -lpthread -o output_file program_pthread.c

Bundan sonra ./output_fileprogram için çıktı sağlar ve işte program_pthread.cuyguladığınız pthread programı.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.