2011-02-10 18 views
7

प्रीकंपिल्ड हेडर वास्तव में क्या है? उनका उपयोग कब किया जाता है?प्रीकंपिल्ड हेडर

+2

[प्रीकंपील्ड हेडर] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/1293538/precompiled-headers)। यह भी देखें: [प्रीकंपील्ड हेडर (सी/सी ++) का उपयोग क्यों करें?] (Http://stackoverflow.com/questions/903228/why-use-precompiled-headers-c-c) –

उत्तर

7

प्रीकंपील्ड हेडर संकलन प्रक्रिया के दौरान उपयोग किए जाने वाले अनुकूलन हैं।

असल में, यदि आप stdio.h जैसे सटीक समान परिभाषा और पर्यावरण के साथ कुछ संकलित करते हैं, तो आप सुरक्षित रूप से परिणाम मान सकते हैं कि परिणाम हर बार समान होगा।

तो संकलक उस शीर्षलेख के "संकलित" संस्करण को याद करता है, इसलिए इसे फिर से करने की आवश्यकता नहीं है।

हकीकत में, यह, हेडर कि अंतर इतना बनाता है की प्रारंभिक समूह हो जाता है, तो अपने स्रोत फ़ाइलों में से हर एक के साथ शुरू होता:

#define XYZZY 42 
#include <stdio.h> 
#include <stdlib.h> 

पहले एक पूरी तरह से संकलित, लेकिन राज्य याद करते तुरंत बाद वह तीसरी पंक्ति। अगली कोई भी उन तीन लाइनों को पूरी तरह से फेंक सकती है और बाकी फाइल को संकलित करने से पहले सहेजी गई स्थिति को लोड कर सकती है।

पहली बार जब मैंने यह सुविधा देखी तो विंडोज़ पर भारीwindows.h हेडर फ़ाइल के साथ था और, मेरा विश्वास करो, इसने समग्र निर्माण समय में बहुत अंतर किया है।

संबंधित मुद्दे