GCC at CC Compiler

Anonim

GCC vs CC Compiler

CC ang pangalan na ibinigay sa UNIX Compiler Command. Ito ay ginagamit bilang default na command compiler para sa iyong operating system at din ay maipapatupad na may parehong command. Ang GCC, sa kabilang banda, ay ang operating system ng GNU Compiler. Sa mga system na tumatakbo sa GNU at Linux, karaniwan na mahanap ang CC na isang link upang ang mga script ay maaaring gumamit ng tagatala na mapagpalit at madali. Mayroong iba't ibang mga pagkakaiba ang naobserbahan tungkol sa paggamit ng koleksyon ng GNU compiler at ng CC compiler. Ang mga pagkakaiba sa pangkalahatan ay maaaring ipangkat sa dalawang pangunahing grupo. Ang isa sa mga ito ay mas tiyak habang ang iba pang grupo ay mas generic.

Mga pagkakaiba

Ang pangunahing pagkakaiba sa pagitan ng dalawang deal sa C compiler at C + + compiler. Ang mga compiler ng C + + ay tumatanggap ng mga programang C ++ ngunit hindi nakapagtipon ng mga programa sa C na nagkataon. Ito ay totoo sa pangkalahatan, kahit na ipinakita na posible na magsulat ng isang C language code sa isang subset na maaaring maunawaan ng mabuti ng C ++ kahit na maraming mga programa sa C ay hindi wastong mga programang C + +. Sa kabilang banda, tinatanggap ng mga C compiler ang mga programang C ngunit tinatanggihan ang karamihan sa mga programang C + na tumatakbo sa mga ito. Ang dahilan kung bakit ang problemang ito ay lumalabas na ang karamihan sa mga programang C + + ay nagpapatakbo ng mga construct na hindi available sa C.

Ang mga magagamit na aklatan para sa mga programang ito ay higit sa lahat ay depende sa wika. Ang mga programang C + + ay maaaring magsagawa sa mga library ng C, ngunit ito ay tiyak na platform. Ang mga programang C sa kabilang banda ay hindi maaaring gumamit ng mga library ng C ++; kaya ang C + + ay may posibilidad na magkaroon ng isang mas malaking hanay ng library na magagamit kaysa sa C.

Sa Solaris, ang object code na ginawa ng command compiler ay hindi sa anumang paraan na katugma sa code na ginawa ng g ++ dahil ang mga ito ay dalawang hiwalay na compiler at ang kanilang mga kumbensyon ay naiiba. Ang mga pangunahing magkakaibang punto ay ang paghawak ng pagbubukod at pagkukulang ng mga pangalan. Gayunpaman, mahalagang tandaan na ang pangalan ng mangling ay mahalaga upang maiwasan ang magkatugma ng mga bagay mula sa pagiging magkasama. Nangangahulugan ito na ang katunayan na ang paggamit ng isang library na naipon sa CC ay nangangailangan na ang buong programa ay naipon sa CC. Gayundin, kung kailangan mong gumamit ng library na pinagsama sa CC at iba pa sa g ++, dapat gawin ang isang recompilation ng mga aklatan upang matiyak ang nais na pag-andar.

Sa kalidad ng assembler na nalikha, ang GCC, na kung saan ay ang GNU Compiler Collection, ay napakabuti sa gawaing ito. Gayunpaman mas mahusay na gumagana ang mga native na compiler sa mga oras. Ang mga Intel compiler ay maaaring sinabi na magkaroon ng masusing pag-optimize na hindi pa kinokopya sa GCC.

Ang parehong mga compiler ay lahat sa lahat ng mga bagong sa kasalukuyang mga pamantayan, kahit na may mga maliliit na pagkakaiba sa pagitan ng mga pamantayan ng wika at ang wika na sumusuporta sa compiler. Ang mga pamantayang ito ay (C ++ 98, C ++ 2003, C99). Ang mas lumang suporta sa C89 ay magagamit sa parehong mga compiler at isang pag-unawa sa mga sagot na inaasahan ay mahalaga upang matiyak na ang tagatala rolls out tulad ng inaasahan. Ang lahat sa lahat ng GCC ay tila nakatuon sa paggawa ng mas madali sa buhay dahil sa mga extension at pag-aayos na maaaring gawin dito upang makuha ang ninanais na resulta.

Buod

May problema sa cross compatibility ng C at C ++ compiler libraries.

Ang mga programang C + + ay maaaring magsagawa sa mga library ng C ngunit ito ay tiyak na platform.

Ang paggamit ng isang library na binubuo sa CC ay nangangailangan ng buong programa na maipon sa CC at hindi GCC. Kung mayroon kang isang library na naipon sa CC at g ++, isa sa mga aklatan ang dapat recompile.

GCC ay isang kahanga-hangang trabaho sa paglikha ng kalidad na pagtitipon.

Ang parehong CC at GCC sa mga tampok ng wika ay mahusay na may kaugnayan sa kasalukuyang mga pamantayan.