OpenMP के लिए, करने के लिए OpenMP निर्दिष्ट करें मेरी कोड काम करता है, अपने निर्देशों (जैसे #pragma omp उन ... के रूप में) का उपयोग किए बिना (, omp_get_thread_num() उदाहरण के लिए) अपने एपीआई में उपयोग कर रहा है जबजीसीसी
क्यों बजाय -fopenmp का उपयोग कर काम नहीं करता है की जीसीसी, के लिए सीधे निर्दिष्ट करने libgomp.a
gcc hello.c /usr/lib/gcc/i686-linux-gnu/4.4/libgomp.a -o hello
जैसे अद्यतन: मैं बस में पाया गया कि libgomp.a को जोड़ने काम नहीं करता है, लेकिन को जोड़ने libgomp.so काम करता है। क्या इसका मतलब है कि ओपनएमपी स्थिर लिंक नहीं हो सकता है?
-fopenmp केवल क्यों काम करता है बिना पुस्तकालय फ़ाइलें
को निर्दिष्टgcc hello.c -fopenmp -o hello
अद्यतन: दूसरे शब्दों में, जब -fopenmp का उपयोग कर, क्यों स्पष्ट libgomp.so को जोड़ने की आवश्यकता नहीं है?
क्यों यह भी संकलित करता है:
gcc hello.c -L/usr/lib/gcc/i686-linux-gnu/4.4/ -lgomp -o hello
इस कोड में उपेक्षा करेंगे OpenMP निर्देशों अगर वहाँ किसी भी?
धन्यवाद और सम्मान!
जीसीसी दस्तावेज़ीकरण से: -फॉपेंम्प ध्वज ओपनएमपी रनटाइम लाइब्रेरी के स्वचालित लिंकिंग के लिए भी व्यवस्थित करता है। यहां देखें: http://gcc.gnu.org/onlinedocs/libgomp/Enabling-OpenMP।एचटीएमएल # सक्षम-ओपनएमपी – 465544