Precompiled header
ಕಂಪ್ಯೂಟರ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ನಲ್ಲಿ, ಪೂರ್ವಸಂಕಲಿತ ಹೆಡರ್ (ಪಿಸಿಎಚ್) ಒಂದು (ಸಿ ಅಥವಾ ಸಿ + +) ಹೆಡರ್ ಫೈಲ್ ಆಗಿದ್ದು, ಇದನ್ನು ಮಧ್ಯಂತರ ರೂಪದಲ್ಲಿ ಸಂಕಲಿಸಲಾಗುತ್ತದೆ, ಇದು ಕಂಪೈಲರ್ಗಾಗಿ ವೇಗವಾಗಿ ಪ್ರಕ್ರಿಯೆಗೊಳ್ಳುತ್ತದೆ. ಪೂರ್ವಸಂಕಲಿತ ಹೆಡರ್ಗಳ ಬಳಕೆಯು ಸಂಕಲನದ ಸಮಯವನ್ನು ಗಮನಾರ್ಹವಾಗಿ ಕಡಿಮೆ ಮಾಡಬಹುದು, ವಿಶೇಷವಾಗಿ ದೊಡ್ಡ ಹೆಡರ್ ಫೈಲ್ಗಳು, ಅನೇಕ ಇತರ ಹೆಡರ್ ಫೈಲ್ಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಹೆಡರ್ ಫೈಲ್ಗಳು ಅಥವಾ ಅನೇಕ ಅನುವಾದ ಘಟಕಗಳಲ್ಲಿ ಸೇರಿಸಲಾದ ಹೆಡರ್ ಫೈಲ್ಗಳಿಗೆ ಅನ್ವಯಿಸಿದಾಗ. ಸಿ ಮತ್ತು ಸಿ + + ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳಲ್ಲಿ, ಹೆಡರ್ ಕಡತವು ಮೂಲ ಕಡತದಲ್ಲಿ ಪ್ರಿಪ್ರೊಸೆಸರ್ ನಿರ್ದೇಶನವನ್ನು ಬಳಸಿಕೊಂಡು ಸಿ ಪ್ರಿಪ್ರೊಸೆಸರ್ನಿಂದ ಮತ್ತೊಂದು ಮೂಲ ಕಡತದಲ್ಲಿ ಪಠ್ಯವನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸೇರಿಸಬಹುದಾದ ಕಡತವಾಗಿದೆ. ಹೆಡರ್ ಕಡತಗಳು ಕೆಲವೊಮ್ಮೆ ಬಹಳ ದೊಡ್ಡ ಪ್ರಮಾಣದ ಮೂಲ ಸಂಕೇತಗಳನ್ನು ಹೊಂದಿರಬಹುದು (ಉದಾಹರಣೆಗೆ, ಮೈಕ್ರೋಸಾಫ್ಟ್ ವಿಂಡೋಸ್ ಮತ್ತು ಓಎಸ್ ಎಕ್ಸ್ನಲ್ಲಿ ಅನುಕ್ರಮವಾಗಿ ಹೆಡರ್ ಕಡತಗಳು windows.h ಮತ್ತು ಕೋಕೋ/ಕೋಕೋ. ಎಚ್). ಐಜೆನ್ ಗಣಿತ ಗ್ರಂಥಾಲಯ ಮತ್ತು ಬೂಸ್ಟ್ ಸಿ + + ಗ್ರಂಥಾಲಯಗಳಂತಹ ಟೆಂಪ್ಲೆಟ್ಗಳನ್ನು ವ್ಯಾಪಕವಾಗಿ ಬಳಸುವ ದೊಡ್ಡ "ಹೆಡರ್" ಗ್ರಂಥಾಲಯಗಳ ಆಗಮನದೊಂದಿಗೆ ಇದು ವಿಶೇಷವಾಗಿ ಸತ್ಯವಾಗಿದೆ. ಅವುಗಳನ್ನು ರನ್ಟೈಮ್ನಲ್ಲಿ ಲಿಂಕ್ ಮಾಡುವ ಬದಲು ಬಳಕೆದಾರರು #includes ಎಂದು ಹೆಡರ್ ಫೈಲ್ಗಳಾಗಿ ಬರೆಯಲಾಗುತ್ತದೆ. ಹೀಗಾಗಿ, ಪ್ರತಿ ಬಾರಿ ಬಳಕೆದಾರರು ತಮ್ಮ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಕಂಪೈಲ್ ಮಾಡಿದಾಗ, ಬಳಕೆದಾರರು ಮೂಲಭೂತವಾಗಿ ಹಲವಾರು ಹೆಡರ್ ಲೈಬ್ರರಿಗಳನ್ನು ಸಹ ಮರುಸಂಕಲಿಸುತ್ತಾರೆ. (ಇವುಗಳನ್ನು ಶೇರ್ಡ್ ಆಬ್ಜೆಕ್ಟ್ಗಳಾಗಿ ಅಥವಾ "ಹೆಡರ್" ಅಲ್ಲದ ಲೈಬ್ರರಿಗಳಲ್ಲಿ ಡೈನಾಮಿಕ್ ಲಿಂಕ್ ಲೈಬ್ರರಿಗಳಾಗಿ ಮೊದಲೇ ಕಂಪೈಲ್ ಮಾಡಲಾಗುತ್ತದೆ.) ಸಂಕಲನದ ಸಮಯವನ್ನು ಕಡಿಮೆ ಮಾಡಲು, ಕೆಲವು ಕಂಪೈಲರ್ಗಳು ಹೆಡರ್ ಫೈಲ್ಗಳನ್ನು ಕಂಪೈಲರ್ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ವೇಗವಾದ ರೂಪದಲ್ಲಿ ಕಂಪೈಲ್ ಮಾಡಲು ಅವಕಾಶ ಮಾಡಿಕೊಡುತ್ತವೆ. ಈ ಮಧ್ಯಂತರ ರೂಪವನ್ನು ಪೂರ್ವಸಂಕಲಿತ ಹೆಡರ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ, ಮತ್ತು ಇದನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಜಿ. ಎನ್. ಯು ಕಂಪೈಲರ್ ಸಂಗ್ರಹದ ಅಡಿಯಲ್ಲಿ. pch ಅಥವಾ ಅಂತಹುದೇ ವಿಸ್ತರಣೆಯೊಂದಿಗೆ ಹೆಸರಿಸಲಾದ ಕಡತದಲ್ಲಿ ಇಡಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, header.hpp:// header.hpp.// source.cpp #include "header.hpp" ಅನ್ನು ಒಳಗೊಂಡಿರುವ C + + ಕಡತ source.cpp ಅನ್ನು ನೀಡಲಾಗಿದೆ. ಪೂರ್ವಸಂಕಲಿತ ಹೆಡರ್ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ ಮೊದಲ ಬಾರಿಗೆ source.cpp ಅನ್ನು ಕಂಪೈಲ್ ಮಾಡುವಾಗ, ಕಂಪೈಲರ್ ಪೂರ್ವಸಂಕಲಿತ ಹೆಡರ್, header.pch ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ. ಮುಂದಿನ ಬಾರಿ, ಈ ಹೆಡರ್ನ ಟೈಮ್ಸ್ಟ್ಯಾಂಪ್ ಬದಲಾಗದಿದ್ದರೆ, ಕಂಪೈಲರ್ header.hpp ಗೆ ಸಂಬಂಧಿಸಿದ ಸಂಕಲನ ಹಂತವನ್ನು ಬಿಟ್ಟುಬಿಡಬಹುದು ಮತ್ತು ಬದಲಿಗೆ ನೇರವಾಗಿ header.pch ಅನ್ನು ಬಳಸಬಹುದು. ಸಾಮಾನ್ಯ ಅನುಷ್ಠಾನಗಳಾದ ಮೈಕ್ರೋಸಾಫ್ಟ್ ವಿಷುಯಲ್ ಸಿ ಮತ್ತು ಸಿ + + ಮೈಕ್ರೋಸಾಫ್ಟ್ ವಿಷುಯಲ್ ಸಿ + + (ಆವೃತ್ತಿ 6 ಮತ್ತು ಹೊಸದು) ಕೇವಲ ಹೆಡರ್ಗಳನ್ನು ಮಾತ್ರವಲ್ಲದೆ ಯಾವುದೇ ಕೋಡ್ ಅನ್ನು ಮೊದಲೇ ಕಂಪೈಲ್ ಮಾಡಬಹುದು. ಇದನ್ನು ಎರಡು ರೀತಿಯಲ್ಲಿ ಮಾಡಬಹುದುಃ ಒಂದೋ/Ycfilename ಆಯ್ಕೆಗೆ ಹೊಂದಿಕೆಯಾಗುವ ಕಡತಕ್ಕೆ ಎಲ್ಲಾ ಕೋಡ್ ಅನ್ನು ಪೂರ್ವಭಾವಿಯಾಗಿ ಕಂಪೈಲ್ ಮಾಡುವುದು ಅಥವಾ (ಯಾವುದೇ ಕಡತದ ಹೆಸರು ಇಲ್ಲದೆ/Yc ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದಾಗ) ಕೋಡ್ನಲ್ಲಿ #pragma hdrstop ಮೊದಲ ಬಾರಿಗೆ ಬರುವವರೆಗೆ ಎಲ್ಲಾ ಕೋಡ್ ಅನ್ನು ಪೂರ್ವಭಾವಿಯಾಗಿ ಕಂಪೈಲ್ ಮಾಡುವುದು ಪೂರ್ವಭಾವಿಯಾಗಿ ಕಂಪೈಲ್ ಮಾಡಲಾದ ಔಟ್ಪುಟ್ ಅನ್ನು/Yc ಆಯ್ಕೆಗೆ ನೀಡಲಾದ ಕಡತದ ಹೆಸರಿನ ಹೆಸರಿನ ಫೈಲ್ನಲ್ಲಿ. pch ವಿಸ್ತರಣೆಯೊಂದಿಗೆ ಅಥವಾ/Fpfilename ಆಯ್ಕೆಯಿಂದ ಒದಗಿಸಲಾದ ಹೆಸರಿನ ಪ್ರಕಾರ ಹೆಸರಿಸಲಾದ ಫೈಲ್ನಲ್ಲಿ ಉಳಿಸಲಾಗುತ್ತದೆ. / ಯು ಆಯ್ಕೆಯು, ಒಟ್ಟಿಗೆ ಬಳಸಿದರೆ/ವೈಸಿ ಆಯ್ಕೆಗೆ ಅಧೀನವಾಗಿದ್ದು, ಕಂಪೈಲರ್ ಅಂತಹ ಕಡತದಿಂದ ಈಗಾಗಲೇ ಪೂರ್ವಸಂಕಲಿತ ಕೋಡ್ ಅನ್ನು ಬಳಸಲು ಕಾರಣವಾಗುತ್ತದೆ. pch.h (ವಿಷುಯಲ್ ಸ್ಟುಡಿಯೋ 2017ಕ್ಕಿಂತ ಮೊದಲು stdafx.h ಎಂದು ಹೆಸರಿಸಲಾಗಿದೆ) ಎಂಬುದು ಮೈಕ್ರೋಸಾಫ್ಟ್ ವಿಷುಯಲ್ ಸ್ಟುಡಿಯೋ IDE ವಿಝಾರ್ಡ್ನಿಂದ ರಚಿಸಲ್ಪಟ್ಟ ಒಂದು ಕಡತವಾಗಿದ್ದು, ಇದು ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಸಿಸ್ಟಮ್ ಮತ್ತು ಪ್ರಾಜೆಕ್ಟ್ ನಿರ್ದಿಷ್ಟ ಸೇರಿದಂತೆ ಆಗಾಗ್ಗೆ ಬಳಸಲಾಗುವ ಆದರೆ ಎಂದಿಗೂ ಬದಲಾಗದ ಕಡತಗಳೆರಡನ್ನೂ ವಿವರಿಸುತ್ತದೆ. stdafx.h ನಲ್ಲಿರುವ ಎಎಫ್ಎಕ್ಸ್ ಅಪ್ಲಿಕೇಶನ್ ಫ್ರೇಮ್ವರ್ಕ್ ವಿಸ್ತರಣೆಗಳನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಎಎಫ್ಎಕ್ಸ್ ಎಂಬುದು ಮೈಕ್ರೋಸಾಫ್ಟ್ ಫೌಂಡೇಶನ್ ಕ್ಲಾಸ್ಸ್ನ (ಎಂಎಫ್ಸಿ) ಮೂಲ ಸಂಕ್ಷೇಪಣವಾಗಿತ್ತು. 2017ರ ಆವೃತ್ತಿಗೆ ಮುಂಚಿತವಾಗಿ ಎಂ. ಎಸ್. ವಿ. ಸಿ. ಯೋಜನೆಗಳಲ್ಲಿ ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ <ಐ. ಡಿ. 1> ಎಂಬ ಹೆಸರನ್ನು ಬಳಸಲಾಗಿದ್ದರೂ, ಯಾವುದೇ ಪರ್ಯಾಯ ಹೆಸರನ್ನು ಕೈಯಿಂದ ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು. ಒಟ್ಟಾರೆ ಕಂಪೈಲ್ ಸಮಯವನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಹೊಂದಿಕೆಯಾಗುವ ಕಂಪೈಲರ್ಗಳು ಈ ಕಡತವನ್ನು ಮೊದಲೇ ಕಂಪೈಲ್ ಮಾಡುತ್ತವೆ. ಕಂಪೈಲ್ ಆಯ್ಕೆ/ಯು 'pch.h' ಅನ್ನು (ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ) ಅನ್ಚೆಕ್ ಮಾಡದ ಹೊರತು, ವಿಷುಯಲ್ ಸಿ + + ಮೂಲ ಕಡತದಲ್ಲಿನ #include "pch.h" ಗೆ ಮೊದಲು ಏನನ್ನೂ ಕಂಪೈಲ್ ಮಾಡುವುದಿಲ್ಲ; ಇದು ಮೂಲದಲ್ಲಿರುವ ಎಲ್ಲಾ ಕೋಡ್ ಅನ್ನು ಮತ್ತು ಆ ಸಾಲನ್ನು ಒಳಗೊಂಡಂತೆ ಈಗಾಗಲೇ ಕಂಪೈಲ್ ಮಾಡಲಾಗಿದೆ ಎಂದು ಊಹಿಸುತ್ತದೆ. ಜಿಸಿಸಿ ಪೂರ್ವಸಂಕಲಿತ ಶೀರ್ಷಿಕೆಗಳು ಜಿಸಿಸಿಯಲ್ಲಿ ಬೆಂಬಲಿತವಾಗಿವೆ (3.4 ಮತ್ತು ಹೊಸದು). ಜಿಸಿಸಿಯ ವಿಧಾನವು ವಿಸಿ ಮತ್ತು ಹೊಂದಾಣಿಕೆಯ ಕಂಪೈಲರ್ಗಳ ವಿಧಾನವನ್ನು ಹೋಲುತ್ತದೆ. ". gch" ಪ್ರತ್ಯಯವನ್ನು ಬಳಸಿಕೊಂಡು ಹೆಡರ್ ಕಡತಗಳ ಪೂರ್ವಸಂಕಲಿತ ಆವೃತ್ತಿಗಳನ್ನು ಜಿಸಿಸಿ ಉಳಿಸುತ್ತದೆ. ಮೂಲ ಕಡತವನ್ನು ಸಂಕಲಿಸುವಾಗ, ಈ ಕಡತವು ಅದೇ ಕೋಶದಲ್ಲಿದೆಯೇ ಎಂದು ಕಂಪೈಲರ್ ಪರಿಶೀಲಿಸುತ್ತದೆ ಮತ್ತು ಸಾಧ್ಯವಾದರೆ ಅದನ್ನು ಬಳಸುತ್ತದೆ. ಹೆಡರ್ ಅನ್ನು ಕಂಪೈಲ್ ಮಾಡಿದಾಗ ಅದೇ ಕಂಪೈಲರ್ ಸ್ವಿಚ್ಗಳನ್ನು ಹೊಂದಿಸಿದರೆ ಮತ್ತು ಅದು ಗರಿಷ್ಠ ಒಂದನ್ನು ಬಳಸಬಹುದಾದರೆ ಮಾತ್ರ ಜಿಸಿಸಿ ಪೂರ್ವ-ಕಂಪೈಲ್ ಮಾಡಲಾದ ಆವೃತ್ತಿಯನ್ನು ಬಳಸಬಹುದು. ಇದಲ್ಲದೆ, ಪೂರ್ವಸಂಕಲಿತ ಹೆಡರ್ಗೆ ಮೊದಲು ಪ್ರಿಪ್ರೊಸೆಸರ್ ಸೂಚನೆಗಳನ್ನು ಮಾತ್ರ ಇರಿಸಬಹುದು (ಏಕೆಂದರೆ ಯಾವುದೇ ಕಂಪೈಲ್ ಮಾಡಬಹುದಾದ ಕೋಡ್ಗೆ ಮೊದಲು ಅದನ್ನು ನೇರವಾಗಿ ಅಥವಾ ಪರೋಕ್ಷವಾಗಿ ಮತ್ತೊಂದು ಸಾಮಾನ್ಯ ಹೆಡರ್ ಮೂಲಕ ಸೇರಿಸಬೇಕು). ಹೆಚ್ಚಿನ ಹೆಡರ್ ಕಡತಗಳನ್ನು ಅವುಗಳ ವಿಸ್ತರಣೆಯಿಂದ ಜಿಸಿಸಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಗುರುತಿಸುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಇದು ವಿಫಲವಾದರೆ (ಉದಾ. ಪ್ರಮಾಣಿತವಲ್ಲದ ಹೆಡರ್ ವಿಸ್ತರಣೆಗಳ ಕಾರಣದಿಂದಾಗಿ), ಜಿಸಿಸಿ ಕಡತವನ್ನು ಹೆಡರ್ನಂತೆ ಪರಿಗಣಿಸುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು-x ಸ್ವಿಚ್ ಅನ್ನು ಬಳಸಬಹುದು. ಕ್ಲಾಂಗ್ ಕಂಪೈಲರ್ 2009ರ ಕ್ಲಾಂಗ್ 2.5/ಎಲ್ಎಲ್ವಿಎಂ 2.5ರಲ್ಲಿ ಪಿಸಿಎಚ್ಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಿತು. ಕಂಪೈಲರ್ ಇನ್ಪುಟ್ ಸೋರ್ಸ್ ಕೋಡ್ ಅನ್ನು ಟೋಕನೈಸ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಹೆಡರ್ಗಳ ವಾಕ್ಯರಚನೆಯ ಮತ್ತು ಶಬ್ದಾರ್ಥದ ವಿಶ್ಲೇಷಣೆಗಳನ್ನು ಮಾಡುತ್ತದೆ, ಕಂಪೈಲರ್ನ ಆಂತರಿಕ ರಚಿತವಾದ ಅಮೂರ್ತ ವಾಕ್ಯರಚನೆಯ ಮರ (ಎ. ಎಸ್. ಟಿ) ಮತ್ತು ಸಂಕೇತ ಕೋಷ್ಟಕವನ್ನು ಪೂರ್ವಸಂಕಲಿತ ಹೆಡರ್ ಫೈಲ್ಗೆ ಬರೆಯುತ್ತದೆ. ಕ್ಲಾಂಗ್ನ ಪೂರ್ವಸಂಕಲಿತ ಹೆಡರ್ ಯೋಜನೆಯು, ಒಂದು ಪೂರ್ವಸಂಕಲಿತ ಹೆಡರ್ ಇನ್ನೊಂದನ್ನು ಉಲ್ಲೇಖಿಸುವ ಸಾಮರ್ಥ್ಯದಂತಹ ಕೆಲವು ಸುಧಾರಣೆಗಳೊಂದಿಗೆ, ಆಂತರಿಕವಾಗಿ ಬಳಸಲಾದ, ಪೂರ್ವಸಂಕಲಿತ ಹೆಡರ್ ಸಹ ಅದರ ಮಾಡ್ಯೂಲ್ ಕಾರ್ಯವಿಧಾನಕ್ಕೆ ಆಧಾರವಾಗಿದೆ. ಇದು ಎಲ್. ಎಲ್. ವಿ. ಎಂ. ನಿಂದ ಬಳಸಲ್ಪಡುವ ಅದೇ ಬಿಟ್ಕೋಡ್ ಕಡತ ಸ್ವರೂಪವನ್ನು ಬಳಸುತ್ತದೆ, ಇದು ಕಾಮನ್ ಆಬ್ಜೆಕ್ಟ್ ಫೈಲ್ ಫಾರ್ಮ್ಯಾಟ್ ಅಥವಾ ಎಕ್ಸ್ಟೆನ್ಸಿಬಲ್ ಲಿಂಕಿಂಗ್ ಫಾರ್ಮ್ಯಾಟ್ ಕಡತಗಳೊಳಗೆ ಕ್ಲಾಂಗ್-ನಿರ್ದಿಷ್ಟ ವಿಭಾಗಗಳಲ್ಲಿ ಅಡಕವಾಗಿದೆ. C + + ಬಿಲ್ಡರ್ ಪೂರ್ವನಿಯೋಜಿತ ಯೋಜನೆಯ ಸಂರಚನೆಯಲ್ಲಿ, C + + ಬಿಲ್ಡರ್ ಕಂಪೈಲರ್ ಸೂಚ್ಯವಾಗಿ #pragma hdrstop ಸಾಲು ಕಂಡುಬರುವವರೆಗೆ ಮೂಲ ಮಾಡ್ಯೂಲ್ನಿಂದ ಸೇರಿಸಲಾದ ಎಲ್ಲಾ ಹೆಡರ್ಗಳಿಗೆ ಪೂರ್ವಸಂಕಲಿತ ಹೆಡರ್ಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ. ಸಾಧ್ಯವಾದರೆ ಯೋಜನೆಯ ಎಲ್ಲಾ ಘಟಕಗಳಿಗೆ ಪೂರ್ವಸಂಕಲಿತ ಶೀರ್ಷಿಕೆಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ವಿಷುಯಲ್ ಕಾಂಪೊನೆಂಟ್ ಲೈಬ್ರರಿಯೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವಾಗ, ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸುವ ಹೆಚ್ಚಿನ ವಿಸಿಎಲ್ ಹೆಡರ್ ಫೈಲ್ಗಳನ್ನು ಒಳಗೊಂಡಿರುವ vcl.h ಹೆಡರ್ ಅನ್ನು ಮೊದಲು ಸೇರಿಸುವುದು ಸಾಮಾನ್ಯವಾಗಿದೆ. ಹೀಗಾಗಿ, ಪೂರ್ವಸಂಕಲಿತ ಹೆಡರ್ ಅನ್ನು ಎಲ್ಲಾ ಪ್ರಾಜೆಕ್ಟ್ ಮಾಡ್ಯೂಲ್ಗಳಲ್ಲಿ ಹಂಚಿಕೊಳ್ಳಬಹುದು, ಇದು ನಿರ್ಮಾಣದ ಸಮಯವನ್ನು ನಾಟಕೀಯವಾಗಿ ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. ಇದರ ಜೊತೆಗೆ, ವಿಷುಯಲ್ ಸಿ + + ಒದಗಿಸಿದ ಕಾರ್ಯವಿಧಾನದಂತೆಯೇ, ನಿರ್ದಿಷ್ಟ ಹೆಡರ್ ಫೈಲ್ ಅನ್ನು ಪೂರ್ವಸಂಕಲಿತ ಹೆಡರ್ ಆಗಿ ಬಳಸಲು ಸಿ + + ಬಿಲ್ಡರ್ ಅನ್ನು ಉಪಕರಣ ಮಾಡಬಹುದು. ಸಿ + + ಬಿಲ್ಡರ್ 2009 "ಪೂರ್ವಸಂಕಲಿತ ಹೆಡರ್ ವಿಝಾರ್ಡ್" ಅನ್ನು ಪರಿಚಯಿಸುತ್ತದೆ, ಇದು ಸೇರಿಸಲಾದ ಹೆಡರ್ ಫೈಲ್ಗಳಿಗಾಗಿ ಯೋಜನೆಯ ಎಲ್ಲಾ ಮೂಲ ಮಾಡ್ಯೂಲ್ಗಳನ್ನು ಪಾರ್ಸ್ ಮಾಡುತ್ತದೆ, ಅವುಗಳನ್ನು ವರ್ಗೀಕರಿಸುತ್ತದೆ (ಅಂದರೆ. ಹೆಡರ್ ಕಡತಗಳು ಯೋಜನೆಯ ಭಾಗವಾಗಿದ್ದರೆ ಅಥವಾ ಇನ್ಕ್ಲೂಡ್ ಗಾರ್ಡ್ ಹೊಂದಿಲ್ಲದಿದ್ದರೆ ಅವುಗಳನ್ನು ಹೊರಗಿಡುತ್ತದೆ) ಮತ್ತು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಕಡತಗಳಿಗೆ ಪೂರ್ವಸಂಕಲಿತ ಹೆಡರ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಉತ್ಪಾದಿಸುತ್ತದೆ ಮತ್ತು ಪರೀಕ್ಷಿಸುತ್ತದೆ. ಪ್ರಿಟೋಕನೈಸ್ಡ್ ಹೆಡರ್ (ಪಿ. ಟಿ. ಎಚ್) ಎಂಬುದು ಲೆಕ್ಸಿಕಲ್ ವಿಶ್ಲೇಷಣೆಯ ಮೂಲಕ ನಡೆಸಲಾದ ರೂಪದಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾದ ಹೆಡರ್ ಫೈಲ್ ಆಗಿದೆ, ಆದರೆ ಅದರ ಮೇಲೆ ಯಾವುದೇ ಶಬ್ದಾರ್ಥದ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಮಾಡಲಾಗಿಲ್ಲ. ಪಿ. ಟಿ. ಎಚ್. ಯು ಪಿ. ಸಿ. ಎಚ್. ಅನ್ನು ಬೆಂಬಲಿಸುವ ಮೊದಲು ಕ್ಲಾಂಗ್ನಲ್ಲಿ ಅಸ್ತಿತ್ವದಲ್ಲಿತ್ತು, ಮತ್ತು ಜಿ. ಸಿ. ಸಿ. ಯ ಒಂದು ಶಾಖೆಯಲ್ಲಿಯೂ ಇದನ್ನು ಪ್ರಯತ್ನಿಸಲಾಗಿದೆ. ಪೂರ್ಣ ಪಿ. ಸಿ. ಎಚ್. ಕಾರ್ಯವಿಧಾನಕ್ಕೆ ಹೋಲಿಸಿದರೆ, ಪಿ. ಟಿ. ಎಚ್. ಭಾಷೆ (ಮತ್ತು ಉಪಭಾಷೆ) ಸ್ವಾತಂತ್ರ್ಯದ ಪ್ರಯೋಜನಗಳನ್ನು ಹೊಂದಿದೆ, ಏಕೆಂದರೆ ಲೆಕ್ಸಿಕಲ್ ವಿಶ್ಲೇಷಣೆಯು ಸಿ-ಕುಟುಂಬದ ಭಾಷೆಗಳಿಗೆ ಹೋಲುತ್ತದೆ, ಮತ್ತು ವಾಸ್ತುಶಿಲ್ಪದ ಸ್ವಾತಂತ್ರ್ಯ, ಏಕೆಂದರೆ ವಿವಿಧ ಗುರಿ ವಿನ್ಯಾಸಗಳಿಗೆ ಸಂಕಲಿಸುವಾಗ ಒಂದೇ ರೀತಿಯ ಟೋಕನ್ಗಳನ್ನು ಬಳಸಬಹುದು. ಆದಾಗ್ಯೂ, ಇದು ಸರಳ ಲೆಕ್ಸಿಕಲ್ ವಿಶ್ಲೇಷಣೆಗಿಂತ ಹೆಚ್ಚಿನದನ್ನು ಮಾಡದಿರುವ ಅನಾನುಕೂಲತೆಯನ್ನು ಹೊಂದಿದೆ, ಪ್ರತಿ ಸಂಕಲನದೊಂದಿಗೆ ಟೋಕನ್ ಸ್ಟ್ರೀಮ್ನ ವಾಕ್ಯರಚನೆಯ ಮತ್ತು ಶಬ್ದಾರ್ಥದ ವಿಶ್ಲೇಷಣೆಯನ್ನು ನಡೆಸಬೇಕಾಗುತ್ತದೆ. ಇದರ ಜೊತೆಗೆ, ಸ್ಕೇಲಿಂಗ್ ಅನ್ನು ಗಾತ್ರದೊಂದಿಗೆ ರೇಖೀಯವಾಗಿ ಕಂಪೈಲ್ ಮಾಡುವ ಸಮಯ, ಲೆಕ್ಸಿಕಲ್ ಟೋಕನ್ಗಳಲ್ಲಿ, ಪೂರ್ವಭಾವಿ ಕಡತದ, ಇದು ಪೂರ್ಣ ಪ್ರಮಾಣದ ಪೂರ್ವ ಸಂಕಲನ ಕಾರ್ಯವಿಧಾನಕ್ಕೆ ಅಗತ್ಯವಾಗಿಲ್ಲ (ಕ್ಲಾಂಗ್ನಲ್ಲಿ ಪಿಸಿಹೆಚ್ ಯಾದೃಚ್ಛಿಕ ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸುತ್ತದೆ). ಕ್ಲಾಂಗ್ನ ಪೂರ್ವ-ಟೋಕನೈಸೇಶನ್ ಕಾರ್ಯವಿಧಾನವು ಪೂರ್ವ-ಪ್ರೊಸೆಸರ್ಗೆ ಸಹಾಯ ಮಾಡಲು ಹಲವಾರು ಸಣ್ಣ ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ಒಳಗೊಂಡಿದೆಃ ಕಡತದ ಅಸ್ತಿತ್ವ ಮತ್ತು ದತ್ತಾಂಶ ಸ್ಟ್ಯಾಂಪ್ ಮಾಹಿತಿಯನ್ನು ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುವುದು ಮತ್ತು ರೆಕಾರ್ಡಿಂಗ್ ಇನ್ಕ್ಲೂಷನ್ ಗಾರ್ಡ್ಗಳು ಇದರಿಂದಾಗಿ ರಕ್ಷಿತ ಕೋಡ್ ಅನ್ನು ತ್ವರಿತವಾಗಿ ಬಿಟ್ಟುಬಿಡಬಹುದು. ಪೂರ್ವಪ್ರತ್ಯಯ ಶೀರ್ಷಿಕೆ ಏಕ ಸಂಕಲನ ಘಟಕ ಉಲ್ಲೇಖಗಳು ಬಾಹ್ಯ ಕೊಂಡಿಗಳು ಜಿ. ಸಿ. ಸಿ ಫ್ರ್ಯಾಕ್ಟಲ್ ಎಕ್ಸ್ಟ್ರೀಮ್ನೊಂದಿಗೆ ಪೂರ್ವ-ಸಂಕಲಿತ ಶೀರ್ಷಿಕೆಗಳ ಆರೈಕೆ ಮತ್ತು ಫೀಡಿಂಗ್ಃ ಪೂರ್ವಸಂಕಲಿತ ಶೀರ್ಷಿಕೆಗಳು ಮೂಲ ಕೋಡ್ ಸಿ (ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆ) ಶೀರ್ಷಿಕೆಗಳು ಸಿ + + ಅನ್ನು ಸಹ ನೋಡಿ.