2013-07-24 10 views
5

क्या हैं ओएस एक्स में बजना साथ pthread लाइब्रेरी का उपयोग कर जीसीसी मुझे पता है कि उचित संकलक/लिंकर विकल्प सेट -pthread का उपयोग कर के साथओएस एक्स बजना -pthread

के लिए संकलक/लिंकर आवश्यकताओं, लेकिन मैं ओएस के बारे में अनिश्चित क्लैंग के साथ एक्स।

air:~ jose$ clang++ -c test.cpp -pthread 
air:~ jose$ clang++ -o test -pthread test.o 
clang: warning: argument unused during compilation: '-pthread' 

air:~ jose$ g++ -c test.cpp -pthread 
air:~ jose$ g++ -o test -pthread test.o 
+0

बिल्कुल वही होना चाहिए - मुझे पूरा यकीन है। –

+0

http://stackoverflow.com/questions/2391194/what-is-gs-pthread-equiv-in-clang – DrYap

+0

नमूना मैंने अभी जोड़ा है, ऐसा लगता है कि निष्पादन योग्य को लिंक करते समय क्लैंग की आवश्यकता नहीं है। –

उत्तर

12

क्लैंग को संकलन करते समय -pthread की आवश्यकता होती है लेकिन लिंक नहीं होने पर। यह कष्टप्रद है, लेकिन यह व्यवहार मनाया जाता है:

$ clang -c x.cpp 
$ clang -pthread -c x.cpp 
$ clang -o x x.o 
$ clang -pthread -o x x.o 
clang: warning: argument unused during compilation: '-pthread' 
$ 

$ clang --version 
Apple LLVM version 5.0 (clang-500.2.76) (based on LLVM 3.3svn) 
Target: x86_64-apple-darwin13.0.0 
Thread model: posix 
$ 
+0

क्या संकलन और लिंकिंग एक साथ '-pthread' के साथ/बिना चेतावनी को उत्सर्जित करता है? ('clang -o x x.cpp', मुझे लगता है) यह एक संयोजन है जिसे आप अपने उत्तर में नहीं आते हैं। (मेरे पास मैक तक आसान पहुंच नहीं है, लेकिन मैं एक के लिए विकसित करने की कोशिश कर रहा हूं ...) –

+0

सं। Clang -pthread -o x x.cpp चेतावनी जारी नहीं करता है। – bjori

+0

और नहीं ... – vy32

0

मुझे लगता है कि मैं भी बजना करने के लिए एक -lpthread जोड़ने के लिए इस्तेमाल किया।

+0

यह बेहतर होगा अगर आप यह समझें कि यह कुंजी क्या है और यह समस्या को कैसे हल कर सकता है –