मुझे आश्चर्य है कि g++
कंपाइलर/लिंकर झंडे का पता लगाने का कोई तरीका है जहां बाइनरी-केवल लाइब्रेरी बनाने में उपयोग किया जाता है।क्या मैं निर्धारित कर सकता हूं कि कौन सा कंपाइलर/लिंकर झंडे जहां बाइनरी-केवल साझा लाइब्रेरी बनाने के लिए उपयोग किया जाता है?
उदाहरण के लिए एक तृतीय पक्ष साझा लाइब्रेरी हो सकती है (केवल .h/.so फाइलें हैं)।
तो मुझे लगता है कि मेरे स्वयं के एप्लिकेशन को संकलित और लिंक करते समय एक ही जी ++ झंडे का उपयोग करना एक अच्छा विचार होगा (जो बाइनरी-केवल तृतीय पक्ष लाइब्रेरी का उपयोग कर रहा है)।
विशेष रूप से मैं की तरह
- -fno-इनलाइन संकलक झंडे के लिए पूछ रहा हूँ
- -pthreads
- -mtune = मेहराब
- -O2
और यह भी यह होगा ब्याज की जो लिंकर झंडे का उपयोग किया गया है:
- -fpic या -fPIC
- -fexceptions
- -pthreads
और इतने पर।