గ్నూ కంపైలర్ కలెక్షన్

గ్నూ కంపైలర్ కలెక్షన్(జిసిసి) అనేది వివిధ ప్రోగ్రామింగ్ భాషల కోసం గ్నూ యోజనచే రూపొందించబడిన ఒక కంపైలర్ వ్యవస్థ.GNU కంపైలర్ కలెక్షన్ లేదా GCC అనేది GNU ప్రాజెక్ట్ క్రింద సృష్టించబడిన కంపైలర్ సేకరణ . (గ్ను కంపైలర్ కలెక్షన్ లేదా జిసిసి). ఇది గ్నూ టూల్స్ నెట్‌వర్క్‌లోని కీలక లింక్ . ఇది సి , సి ++ , జావా, అడా వంటి వివిధ కంప్యూటర్ భాషలకు మద్దతు ఇస్తుంది.  ఎటువంటి ఛార్జీ లేకుండా పంపిణీ చేస్తుంది. ఉచిత సాఫ్ట్‌వేర్‌ను రూపొందించడంలో జిసిసి కీలక పాత్ర పోషించింది, ఇప్పుడు   GNU కంపైలర్ సేకరణ GNU / Linux వంటి వివిధ ఆపరేటింగ్ సిస్టమ్‌లకు ప్రధాన కంపైలర్‌గా పనిచేస్తుంది. గ్నూ కంపైలర్ సేకరణ వివిధ రకాల ప్రాసెసర్ ఆర్కిటెక్ట్‌ల కోసం స్వీకరించబడింది. సింబియన్ , ఎ.ఎం.సి., వంటి వివిధ ఎంబెడెడ్ సిస్టమ్స్‌లోగ్నూ కంపైలర్ కలెక్షన్ అందుబాటులో ఉంది. గ్నూ కంపైలర్ సేకరణ ఇప్పుడు వీడియో గేమ్స్, కంప్యూటర్ గేమ్స్ తయారీలో విస్తృతంగా ఉపయోగించబడుతోంది.ప్రతి భాషకు కంపైలర్ అనేది సోర్స్ కోడ్‌ను స్వీకరించే, అసెంబ్లీ భాషా ఉత్పత్తిని ఉత్పత్తి చేసే ప్రత్యేక ప్రోగ్రామ్ .

జిసిసి 1.0 1987 లో విడుదలైంది. దీని మొదటి పేరు గ్నూ కంపైలర్. C ++ మద్దతు డిసెంబర్ 1987 లో జోడించబడింది. ఉచిత సాఫ్ట్‌వేర్ ఉద్యమం గ్నూ కాపీరైట్ లైసెన్స్ క్రింద గ్నూ కంపైలర్ సేకరణను పంపిణీ చేస్తుంది . ఇది GNU GPL, GNU LGPL నిబంధనల ప్రకారం ఉచిత సాఫ్ట్‌వేర్ ఫౌండేషన్ (FSF) చే పంపిణీ చేయబడింది, ఇది GNU టూల్‌చెయిన్‌లో కీలకమైన భాగం . ఇది ఉచిత యునిక్స్ లాంటి ఆపరేటింగ్ సిస్టమ్స్ కొరకు ప్రామాణిక కంపైలర్ గా ఉపయోగించబడుతుంది .

మొదట పేరున్న గ్నూ సి కంపైలర్ సి భాషకు మాత్రమే మద్దతు ఇచ్చింది . తరువాత, ప్రోగ్రామింగ్ భాషలైన సి ++ , ఆబ్జెక్టివ్-సి , జావా , ఫోర్ట్రాన్ , అడా , ది గో , జిఎఎస్, డి వంటి సోర్స్ కోడ్‌ను కంపైల్ చేయడానికి జిసిసి విస్తరించబడింది .GCC సాధారణంగా క్రాస్-ప్లాట్‌ఫాం సాఫ్ట్‌వేర్ కోసం ఎంపిక చేసే కంపైలర్. సాధారణంగా నిర్దిష్ట వ్యవస్థలు, అమలు వాతావరణాలకు పరిమితం చేయబడిన కంపైలర్ల మాదిరిగా కాకుండా, ఒకే మధ్యవర్తిత్వ కోడ్‌ను రూపొందించడానికి జిసిసి అన్ని ప్లాట్‌ఫామ్‌లలో ఒకే ఫ్రంట్-ఎండ్ ప్రాసెసింగ్ ప్రోగ్రామ్‌ను ఉపయోగిస్తుంది.

సంస్కరణ 4.2.2 నుండి, GCC GPLv3 లైసెన్స్‌కు తరలించబడింది .GNU ప్రాజెక్ట్, GCC డెవలపర్లు GCC 10.1 విడుదలను జులై 23, 2020 న ప్రకటించారు  ఈ విడుదల ఒక బగ్-ఫిక్స్ విడుదల, GCC యొక్క గత విడుదలలకు సంబంధించి GCC 10.1లో తిరోగమనాల కోసం సవరణలను  లను కలిగి ఉంది.

చరిత్ర 
1985లో రిచర్డ్ స్టాల్‌మన్ అనే కంప్యూటర్ ప్రోగ్రామర్ జిసిసిని ప్రారంభించాడు  అతను మొదట పాత కంపైలర్‌ను విస్తరించాడు, తద్వారా ఇది సి కంపైల్ చేయగలదు, ఇది మొదట పాస్టెల్ భాషలో వ్రాయబడింది. పాస్టెల్ పాస్కల్ భాష యొక్క పోర్టబుల్ కాని ప్రత్యేక వెర్షన్, ఈ కంపైలర్ పాస్టెల్ భాషను మాత్రమే కంపైల్ చేయగలదు. పరిచేందుకు ఉచిత సాఫ్ట్వేర్ ఒక కంపైలర్ ఉంటుంది, ఈ కంపైలర్ తరువాత సి భాషలో తిరిగి వ్రాయబడుతుంది , స్టాల్మన్, లెన్ టవర్ లో 1987  మరియు GNU ప్రాజెక్టు కంపైలర్ మారింది. ఆ సమయంలో ఉనికిలో ఉన్న ప్రోగ్రామ్, పాస్కల్, సి వంటి భాషలకు మద్దతు ఇచ్చింది, రిచర్డ్ స్టాల్‌మన్   తాను ప్రారంభించబోయే గ్నూ ఆపరేటింగ్ సిస్టమ్ ప్రాజెక్ట్ను కోసం తన మొదటి ప్రోగ్రామ్ బహుళ భాషలు, కంప్యూటర్లకు మద్దతు ఇచ్చే కంపైలర్ , మొత్తంగా కంపైలర్ రాసే భారాన్ని నివారించడానికి, పాస్కల్ కంపైలర్ అయిన లారెన్స్ లివర్మోర్ ల్యాబ్ యొక్క పాస్టెల్ లో సి భాషకు మద్దతునివ్వడానికి స్టాల్మాన్ ప్రయత్నించాడు. కానీ పని పూర్తయినప్పుడు, ఈ కార్యక్రమం మోటరోలా యొక్క 68,000 కంప్యూటర్లలో అనుమతించిన దానికంటే ఎక్కువ మెమరీని ఉపయోగిస్తున్నట్లు కనుగొనబడింది. దీనిని అనుసరించి అతను పాస్టెల్ ఉపయోగించకుండా కొత్త కంపైలర్‌ను నిర్మించాడు, కాని పాస్టెల్‌లో సి భాషకు మద్దతునివ్వడానికి అతను రాసిన భాగాలతో. పాస్టెల్ కంపైలర్ యొక్క పని పద్ధతి ఈ కంపైలర్లో కూడా అనుసరించబడింది. జిసిసి యొక్క మొదటి ఎడిషన్ మార్చి 22, 1987 న విడుదలైంది. 1991 నాటికి, జిసిసి స్థిరమైన పనితీరును చేరుకుంది, కాని కంప్యూటర్ నిర్మాణంలో పరిమితుల కారణంగా అది ఆశించిన పురోగతిని సాధించలేకపోయింది. కాబట్టి ఉచిత సాఫ్ట్‌వేర్ ఉద్యమం దాని రెండవ సంస్కరణపై పని ప్రారంభించింది. GPL లైసెన్సింగ్‌కు లోబడి ఉన్నందున, వేర్వేరు వ్యక్తులు GCC యొక్క విభిన్న సంస్కరణలను సృష్టించారు, దానికి అదనపు చేర్పులు చేశారు.GCC ప్రస్తుతం ప్రపంచవ్యాప్తంగా అనేక ప్రోగ్రామర్ల బృందాలు నిర్వహిస్తున్నాయి. ఇది చాలా సెంట్రల్ ప్రాసెసర్ ఆర్కిటెక్చర్స్, చాలా ఆపరేటింగ్ సిస్టమ్‌లకు పోర్ట్ చేయబడిన కంపైలర్.

లక్ష్యాలు 

 ఈ విధానం యొక్క లక్ష్యాలు:
 అధిక-నాణ్యత విడుదలలు
 మరిన్ని లక్ష్యాలకు మద్దతు
 ప్రధాన మౌలిక సదుపాయాల మెరుగుదల యొక్క నిరంతర ప్రోత్సాహం
 మరింత రిలీజ్  ఉహించదగిన విడుదల షెడ్యూల్
 మరింత తరచుగా విడుదలలు

ఉపయోగాలు 
అనేక రకాల హార్డ్‌వేర్ ప్లాట్‌ఫామ్‌లపై అమలు చేయాల్సిన సాఫ్ట్‌వేర్‌ను అభివృద్ధి చేయడానికి GCC తరచుగా ఎంపిక చేయబడుతుంది. ప్రతి హార్డ్‌వేర్ ప్లాట్‌ఫామ్ కోసం స్థానిక కంపైలర్‌ల మధ్య తేడాలు వేర్వేరు కంపైలర్‌లచే సరిగ్గా కంపైల్ చేయబడే కోడ్‌ను అభివృద్ధి చేయడంలో ఇబ్బందులకు దారితీస్తాయి, అంతేకాకుండా, వేర్వేరు కంపైలర్‌లను ఉపయోగిస్తున్నప్పుడు, అన్ని హార్డ్‌వేర్ ప్లాట్‌ఫారమ్‌ల కోసం సాఫ్ట్‌వేర్‌ను నిర్మించాల్సిన స్క్రిప్ట్‌లను రూపొందించడం చాలా క్లిష్టంగా ఉంటుంది. GCC ని ఉపయోగిస్తున్నప్పుడు, వేర్వేరు ప్లాట్‌ఫారమ్‌ల కోసం కోడ్‌ను కంపైల్ చేయడానికి అదే పార్సర్ ఉపయోగించబడుతుంది . అందువల్ల, మీరు లక్ష్య ప్లాట్‌ఫారమ్‌లలో ఒకదానికి ప్రోగ్రామ్‌ను నిర్మించగలిగితే, ప్రోగ్రామ్ సాధారణంగా ఇతర ప్లాట్‌ఫారమ్‌ల కోసం కూడా నిర్మించబడే అధిక సంభావ్యత ఉంది.ప్రతి ప్రాసెసర్ వేరే అసెంబ్లీ భాషను అర్థం చేసుకుంటుంది. ఇంటెల్, ఆర్మ్, స్పార్క్, ఆల్ఫా, పవర్‌పిసి వంటి ప్రతి జిసిసి-ఆధారిత నిర్మాణాలకు ప్రత్యేక బ్యాకెండ్ ఉంటుంది

GCC మద్దతు ఉన్న ప్రాసెసర్ల జాబితా (వెర్షన్ 7.1 కోసం)

 ఆల్ఫా
 ARM
 అట్మెల్ ఎవిఆర్
 బ్లాక్ఫిన్
 HC12
 హెచ్ 8/300
 x86 ( IA-32, x86-64 )
 IA-64 (" ఇటానియం ")
 m68k
 మోటరోలా 88000
 MIPS

మూలాలు 

కంప్యూటరు సాఫ్టువేర్
స్వేచ్ఛా సాఫ్టువేరు