कैसे pthread.h का उपयोग करता है कि एसी कार्यक्रम संकलन करने के लिए?


14

मैं एक शुरुआती हूं और मैं उबंटू में नया हूं। मैंने अभी इसे स्थापित किया है और सी प्रोग्राम चलाना चाहता हूं। मुझे नहीं पता कि किस प्लेटफ़ॉर्म का उपयोग करना है या कहां कोड लिखना है। मुझे प्रोग्राम में pthread.h हेडर फ़ाइल का उपयोग करने की आवश्यकता है। क्या कोई मेरी मदद कर सकता है?


जवाबों:


21

उपयोग:

gcc MyProgram.c -o MyProgram -lpthread 

और अपने कोड में POSIX लाइब्रेरी को शामिल करना न भूलें। यह आपके कोड को संकलित करेगा।


2
डिफ़ॉल्ट रूप से GCC में pthread लाइब्रेरी शामिल नहीं है। इसलिए आपको लाइब्रेरी को lpthread तर्क का उपयोग करके शामिल करना होगा।
पार्थिव शाह

यह भी ध्यान दें कि 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 एक विकल्प है जिससे आपत्तिजनक फ़ाइल बनाई जा सकती है।
xyz ऑब्जेक्ट (बाइनरी) फ़ाइल का नाम है।
-Lpthread pthread.h के लिए एक विकल्प है

अधिक जानकारी के लिए यहाँ लिंक पूरा लेख है।
लिनक्स में pthread.h के साथ सी प्रोग्राम को संकलित करना।


0

पहली बात आपको C / C ++ प्रोग्राम को संकलित करने के लिए उबंटू में आवश्यकता होगी GCC (Gnu Compiler Collection) स्थापित कर रहा है जो build-essentialपैकेज का हिस्सा है , इसे चलाकर करें:

sudo apt-get install build-essential

तब आप परीक्षण कर सकते हैं यदि आपने इसे स्थापित करके स्थापित किया है gcc। यदि आपको त्रुटि दिखाई देती है Fatal error: file not provided(निश्चित रूप से सटीक त्रुटि संदेश नहीं है, लेकिन ऐसा ही होना चाहिए), तो इसका मतलब है कि आपके पास कंपाइलर तैयार है।

और अपने कोड को संपादित करने के लिए, आप पहले से ही उपलब्ध Gedit का उपयोग कर सकते हैं , बस इसके लिए डैश में खोजें।

अब अपनी C स्रोत फ़ाइल संकलित करने के लिए सिंटैक्स है, जहाँ आपकी फ़ाइल है, उसे चलाएं:

gcc MyProgram.c -o MyProgram

जहां, स्विच -oवैकल्पिक है, लेकिन बाइनरी फ़ाइल के नाम का उल्लेख करने के लिए प्रदान किया जाता है जिसे आपके स्रोत से बनाया जाना चाहिए।

फिर बस ./MyProgramअपने बाइनरी को चलाने के लिए चलाएं।

ध्यान दें कि pthread.hजैसा कि आपने उल्लेख किया है (POSIX थ्रेड) जीसीसी के साथ डिफ़ॉल्ट रूप से उपलब्ध होना चाहिए, इसलिए बस इसे अपनी सी फ़ाइल में शामिल करने से वह काम करेगा, यदि यह उपलब्ध नहीं है, तो एक साधारण Google खोज को मदद करनी चाहिए। ;)

अपडेट करें

बहुत लंबा, पढ़ा नहीं? जाँच इस । : डी


0

यदि यह त्रुटि देता है तो आप मापदंडों को समान करके एक ही कमांड को आज़मा सकते हैं

gcc -lpthread -o output_file program_pthread.c

उसके बाद ./output_fileप्रोग्राम के लिए आउटपुट प्रदान करता है और यहाँ program_pthread.cआपके द्वारा लागू किया गया प्रोग्राम है।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.