C++ : Compilation or Linking in c++ language in hindi , what is Compilation and Linking

By  
what is Compilation and Linking , C++ : Compilation or Linking in c++ language in hindi :-
सबसे पहले , c++ to c compiler को use किया गया है जबकि c++ to object oriented code compiler को use किया जाता है |इसके लिए cfront को use किया जाता है |cfront का use c++ प्रोग्राम को c प्रोग्राम मे convert कर देते है उसके बाद c प्रोग्राम को machine language मे convert कर देते है |इस method से c++ प्रोग्राम को c कम्युनिटी को आसानी से समज सकते है |
इसके अलावा c++ compiler को use कर सकते है जो c++ को डायरेक्ट machine language मे डायरेक्ट convert कर देता है |
cfront और c++ compiler invisible है जिसे programmer देख नहीं सकता है | उदहार के लिए UNIX सिस्टम मे , CC command c++ प्रोग्राम को cfront translator मे pass किया जाता है | cfront translator, c प्रोप्ग्राम को c compiler मे pass कर देते है |इसलिए इस सिस्टम को CC कहते है |

Unix System

1.पुराने समय मे , Unix सिस्टम मे compiler को cc command से जोड़ा जाता है | लेकिन वतर्मान समय , उनिक्स सिस्टम , compiler नहीं होता है | वतर्मान उदाहरण GNU g ++ है |
2.CC command का use c प्रोग्राम को compile करने के लिए किया जाता है | इसके लिए प्रोग्राम का नाम uppercase मे लिख लेते है जो की इस प्रोग्राम को c प्रोग्राम से अलग कर देते है |cc compiler को command line compiler भी कहते है जो की code को unix command line के लिए use किया जाता है |
उदहारण के लिए
अगर किसी file का नाम math.c
unix सिस्टम के लिए CC math.c
जब किसी प्रोग्राम मे कोई error नहीं होती है तब compiler c++ प्रोग्राम को , object file को generate करता है |जिसका नाम math.o है |
3.compiler इस object file को system linker मे सेंड कर देते है जिसमे object file को library file से combine कर देते है |इससे executable program generate होती है |जिसका default नाम a.out होता है
4.जब कसी सिस्टम मे , एक source file होती है तब unix compiler , math.o को देलते कर देता है |
जब सिस्टम मे , नए प्रोग्राम को execute करना होता है तब नई out file को out file से replace कर देते है |
5.अगर किसी executable प्रोग्राम को change करना हो तो unix सिस्टम के द्वारा mv command दिया जाता है जो की पुराने प्रोग्राम की आउटपुट file को hold कर देता है |
6.C और C++ मे , एक file को दो या दो से अधिक प्रोग्राम मे शेयर कर सकते है |तब unix सिस्टम compiler के लिए , किसी प्रोग्राम मे include फाइल्स की एक लिस्ट बना देता है जैसे
CC  math.c square.c
7.जब दो या दो से अधिक source files को add किया जाता है तब object files को डिलीट नहीं किया जाता है source file को recompile किया जाता है |अगर math.c को change करना है तब
CC math.c square.o
इसमें math.c recompile होते है जिसे square.o से लिंक किया जाता है |

Linux System

Linux system मे मुख्य g++ और GNU g++ को use किया जाता है जो की free development tool है |ये compiler Linux सिस्टम द्वारा ही introduce किया जाता है | लेकिन ये सभी linux सिस्टम मे इनस्टॉल नहीं होती  है |linux सिस्टम , unix सिस्टम की तरह कार्य करता है |
1.उदाहरण के लिए , source file का नाम math.cxx है |इसे g++ math.cxx से define करते है |
2.इस source file से a.out को generate करता है | जो की executable file है |
3.कुछ सिस्टम मे , इससे c++ library file से लिंक किया जाता है |
4.अगर दो या दो से अधिक source files होती है तब in file को list बनाई जाती है |अगर math.cxx और square
.cxx दो source file है तब comman होगा :-
g++ math.cxx square.cxx
5.उपर द्वारा उदाहरण से आउटपुट file a.out को generate किया जाता है | और इससे दो object files math.o और square.o generate होता है |जब किसी एक प्रोग्राम मे चगे करना होता है तो उस प्रोग्राम के लिए source file को recompile किया जाता है | जैसे
g++ math.cxx square.o

Window System

किसी window सिस्टम मे c++ प्रोग्राम को run करने के लिए किसी free download software को use कर लेते है | सबसे ज्यादा पोपुलर सॉफ्टवेर GNU c++ को use किया जाता है |इसे gpp कहते है |

जब किसी gpp को use किया जाता है तब source file को compile किया जाता है |अगर file का नाम math.cpp है तब command होगा
gpp math.cpp
अगर प्रोग्राम successfully run होता तब a.exe file बनती है |
अगर आप borland online compiler को use करते है तब command होगा :-
bcc32 math.cpp
अगर प्रोग्राम successfully run होता तब math.exe file बनती है |
Window system के लिए :
1.सबसे पहले project को बनाया जाता है इस प्रोजेक्ट को file मे include किया जाता है |file मे बहुत सारे प्रोग्राम को add किया जाता है \
2.इसलिए मार्किट मे , IDE को launch किया जाता है जिसमे आटोमेटिक option होते है जो की प्रोग्रामर को काफी सारे operations को सरल कर देते है |
3. सबसे पहले प्रोजेक्ट को create किया जाता है |प्रोजेक्ट को create करने के लिए , इसके प्रकार को चुनना होता है |
-Window Application : इसमें window के लिए application को बनाया जाता है |
-Dynamic Link Library : इसमें c language के लिए , library को बनाया जाता है |
-Activex control : इसमें control प्रोग्राम को बनाया जाता है|
-consol application : इसमें console screen पर perform होने वाले application को बनाया जाता है |
-static library: इसमें एसी library को बनाया जाता है जिसे change नहीं कर सकते है |
4.जब हम किसी प्रोजेक्ट को बनाया जाता है तब प्रोग्रमको compile और लिंक किया जाता है | इसके लिए निन्म option होते है :-
-compile : इस option के लिए , current file को compile करने के लिए use किया जा सकता है |
-Build / make : इस option का use किसी प्रोग्राम के लिए सभी source फाइल्स को run करता है | इसमें सभी files एक एक करके compile होती है |
-Build all : इस option का use , किसी प्रोग्राम के सभी source फाइल्स को एक साथ compile होगा |
-Run / execute : इस option का use , प्रोग्राम को run करने के लिए किया जाता है |
इस article मे , हमने UNIX सिस्टम , LINUX सिस्टम और WINDOW सिस्टम के लिए प्रोग्राम को execute करने के लिए steps को discuss किया है | आगे वाले article मे , c++ language के syntax को start करेगे |