pthread.hを使用するacプログラムをコンパイルする方法?


14

私は初心者で、Ubuntuは初めてです。インストールしたばかりで、Cプログラムを実行したい。どのプラットフォームを使用するのか、どこでコードを書くのかわからない。プログラムでpthread.hヘッダーファイルを使用する必要があります。誰も私を助けることができますか?


回答:


21

使用する:

gcc MyProgram.c -o MyProgram -lpthread 

また、コードにPOSIXライブラリを含めることを忘れないでください。コードをコンパイルします。


2
デフォルトでは、GCCにはpthreadライブラリが含まれていません。そのため、lpthread引数を使用してライブラリを含める必要があります。
パルティブシャー14

また、gcc-4.8ではに-lpthread引数がないことに注意してくださいman gcc。しかし、-pthread議論があります。両方とも、gcc-4.8を使用するUbuntu 14.04で正常に動作します。
イライジャ・リン

1

GCCまたはG ++を使用してLINUX でpthread.hを使用してCプログラムをコンパイルする場合、コンパイルコマンドの後に-lpthreadオプションを使用する必要があります。

gcc xyz.c -o xyz -lpthread

ここに、

gccはコンパイラーコマンド(コンパイラー名)
xyz.cはソースファイル名です。
-oは、objcectファイルを作成するオプションです。
xyzはオブジェクト(バイナリ)ファイルの名前です。
-lpthreadはpthread.hのオプションです

詳細については、リンク上の完全な記事をご覧ください。
Linuxでpthread.hを使用してCプログラムをコンパイルします。


0

UbuntuでC / C ++プログラムをコンパイルするために最初に必要なことは、build-essentialpackageの一部であるGCC(Gnu Compiler Collection)をインストールすることです。

sudo apt-get install build-essential

次に、を実行して、インストールされているかどうかをテストできますgcc。次のようFatal error: file not providedなエラーが表示された場合(正確なエラーメッセージはわかりませんが、似たようなものであるべきです)、コンパイラーの準備ができていることを意味します。

また、コードを編集するには、既に利用可能なGeditを使用できます。Dashで検索してください。

次に、Cソースファイルをコンパイルするための構文を示します。ファイルがある場所で次を実行します。

gcc MyProgram.c -o MyProgram

スイッチ-oはオプションですが、ソースから作成されるバイナリファイルの名前を示すために提供されます。

次に、単に実行./MyProgramしてバイナリを実行します。

注意pthread.hあなたが言及したように、単純にその仕事をするあなたのCファイルでそれを含めて(POSIXスレッド)が、それは利用できない場合には、シンプルなGoogle検索を助けるべきで、GCCではデフォルトで利用可能であるべきです。;)

更新

長すぎて読まなかった?これを確認してください。:D


0

エラーが発生した場合、次のようにパラメータを交換して同じコマンドを試すことができます

gcc -lpthread -o output_file program_pthread.c

その後、./output_fileプログラムの出力が提供され、ここにprogram_pthread.c実装したpthreadプログラムがあります。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.