मुझे अभी पता चला है कि गणित पुस्तकालय से एक फ़ंक्शन को संदर्भित करने वाले प्रोग्राम को संकलित करने के लिए -lm
ध्वज की आवश्यकता है। मैं सोच रहा हूं कि समय पुस्तकालय जैसे अन्य पुस्तकालयों वाले कार्यक्रमों को संकलित करते समय एक स्पष्ट लिंकिंग ध्वज की आवश्यकता क्यों नहीं है। यदि मैं एक प्रोग्राम लिखता हूं जहां time()
फ़ंक्शन कहा जाता है, तो यह कोई लिंकिंग विकल्प के साथ भी कोई समस्या नहीं संकलित करेगा। लेकिन गणित पुस्तकालय के साथ एक कार्यक्रम सिर्फ -lm
ध्वज के बिना काम नहीं करेगा।जीसीसी: गणित पुस्तकालय को जोड़ने के लिए -एलएम ध्वज की आवश्यकता क्यों है?
क्या कोई इस व्यवहार के पीछे कारण बता सकता है? आपके समय के लिए धन्यवाद।
अजीब ऐतिहासिक कारण, लेकिन अधिकतर क्योंकि यह है यह कैसे है: http://stackoverflow.com/questions/1033898/why-do-you-have-to-link-the-math-library-in-c – birryree