b'\n_START_ARTICLE_\nGNU Compiler Collection\n_START_SECTION_\nPregled\n_START_PARAGRAPH_\nGCC je napisal Richard Matthew Stallman leta 1987 kot prevajalnik za projekt GNU, tako da bi bil na voljo kot prosto programje. Njegov razvoj je ve\xc4\x8dinoma vodila Free Software Foundation._NEWLINE_Skupina razvijalcev, ki je bila nezadovoljna s po\xc4\x8dasnim napredovanjem in zaprto naravo uradnega razvoja GCC, je leta 1997 razvila projekt z imenom EGCS (Experimental/Enhanced GNU Compiler System). S projektom so povezali ve\xc4\x8d preskusnih odcepljenih programij v posamezen projekt, izvirajo\xc4\x8d iz GCC. Razvoj EGCS se je kasneje pokazal za precej bolj \xc5\xbeivljenjskega od razvoja GCC, tako da so aprila 1999 kon\xc4\x8dno\xc2\xa0\xc2\xbbblagoslovili\xc2\xab\xc2\xa0kot uradno razli\xc4\x8dico GCC._NEWLINE_Sedaj GCC vzdr\xc5\xbeuje ve\xc4\x8d skupin programerjev iz celega sveta. Prenesli so ga na ve\xc4\x8d razli\xc4\x8dnih vrst procesorjev in operacijskih sistemov kot kateri drugi prevajalnik._NEWLINE_Poleg tega, da je GCC uradni prevajalnik sistema GNU, ki vklju\xc4\x8duje razli\xc4\x8dice na podlagi Linux-a (GNU/Linux), so ga sprejeli kot glavni prevajalnik za izdelovanje in razvoj drugih operacijskih sistemov kot so BSD-ji, Mac OS X, NeXTSTEP in BeOS._NEWLINE_GCC velikokrat izberejo za razvoj programske opreme, ki se bo izvajala na razli\xc4\x8dni strojni opremi. Razlike doma\xc4\x8dinskih prevajanikov vodijo do te\xc5\xbeav v razvijajo\xc4\x8di programski kodi, ki se naj bi pravilno prevedla na vseh prevajalnikih in v izdelanih skriptah, ki bodo tekle na vseh platformah. Z uporabo GCC je enak raz\xc4\x8dlenjevalni program za vse platforme, in \xc4\x8de se koda prevede na enem sistemu, je ve\xc4\x8dja verjetnost, da se bo prevedla tudi na drugem. V nekaterih primerih GCC naredi po\xc4\x8dasnej\xc5\xa1e izvr\xc5\xa1ne programe kot drugi prevajalniki, vendar se ga zaradi prostosti in mo\xc5\xbenih manj\xc5\xa1ih razvojnih stro\xc5\xa1kov spla\xc4\x8da uporabiti.\n_START_SECTION_\nZgradba\n_START_PARAGRAPH_\nZunanji uporabni\xc5\xa1ki vmesnik prevajalnika GCC je v splo\xc5\xa1nem standard za prevajalnik v Unixu. Uporabnik za\xc5\xbeene gonilni program gcc, ki potolma\xc4\x8di ukazne argumente, se odlo\xc4\x8di kateri prevajalnik naj za vsako izhodno datoteko uporabi, po\xc5\xbeene zbirnik prek njihovega izhoda in nato, \xc4\x8de je potrebno, po\xc5\xbeene povezovalnik za dokon\xc4\x8dno izdelan program._NEWLINE_Vsak prevajalnik za poljuben jezik je lo\xc4\x8den program, ki sprejema izvorno kodo in naredi kodo v zbirniku. Vsi imajo skupno notranjo zgradbo. Najprej je za\xc4\x8detna faza prevajanja, ki raz\xc4\x8dleni jezik in naredi abstraktno skladenjsko drevo, in druga faza, ki preoblikuje ta drevesa v RTL (Register Transfer Language), po\xc5\xbeene razli\xc4\x8dne prevajalni\xc5\xa1ke optimizacije, izdela kodo v zbirniku z uporabo vzor\xc4\x8dnega primerjanja za ustrezno arhitekturo, ki izvirno temelji na algoritmu Jacka Davidsona in Chrisa Fraserja._NEWLINE_Skoraj celoten GCC je napisan v C, veliko prve faze pri Adi pa je napisano v njej.'