Ang tagatala ng GCC 10.1 ay narito at ito ang pangunahing mga novelty nito

Pagkatapos ng isang taon ng pag-unlad ang paglabas ng bagong bersyon ay nai-publish mula sa libreng hanay Mga tagatala ng GCC 10.1, ito ang kauna-unahang makabuluhang paglabas sa bagong sangay ng GCC 10.x.

Ayon sa bagong scheme ng pagnunumero ng bersyon, ginamit ang bersyon 10.0 sa proseso ng pag-unlad at ilang sandali bago ang paglabas ng GCC 10.1, ang sangay ng GCC 11.0 ay na-branch na, batay sa kung saan mabubuo ang susunod na bersyon. .

Para sa mga hindi pamilyar sa GCC (GNU Compiler Collection), dapat ninyong malaman iyon eIto ay isang hanay ng mga tagatala na nilikha ng proyekto ng GNU, ay libre software at ipinamamahagi ng Free Software Foundation (FSF) sa ilalim ng pangkalahatang lisensya sa publiko ng GPL.

Ang mga tagataguyod na ito ay malawakang ginagamit sa karamihan ng mga system ng Unix sa isang lawak na sila ay itinuturing na isang pamantayan para sa Unix operating system at derivatives ng bukas na mapagkukunan at pagmamay-ari din, tulad ng Mac OS X.

Kinakailangan ng GCC ang hanay ng mga application na kilala bilang mga binutil upang magsagawa ng mga gawain tulad ng pagkilala ng mga file ng object o pagkuha ng kanilang laki para sa pagkopya, pagsasalin o paglikha ng mga listahan, pag-uugnay sa kanila, o pag-alis ng mga hindi kinakailangang simbolo.

Ano ang bago sa GCC 10.1

Ang GCC 10.1 ay nakatayo para sa pagpapatupad ng maraming mga makabagong ideya ng wikang C ++ binuo para sa pamantayan ng C ++ 20, mga pagpapabuti na nauugnay sa hinaharap na pamantayan ng wika C (C2x), mga bagong pag-optimize sa backend ng compiler at suporta sa pang-eksperimentong para sa static analysis mode.

Para sa mga wikang C, C ++ at Fortran, ipinatupad ang pagtutukoy ng parallel na OpenACC 2.6, na tumutukoy sa mga tool sa pag-download sa mga GPU at dalubhasang processor tulad ng NVIDIA PTX.

Ang pagpapatupad ng pamantayan Buksan ang MP 5.0 (Buksan ang Multi-Processing), na tumutukoy sa API at mga pamamaraan para sa paggamit ng mga parallel na pamamaraan ng programa sa mga multi-core at hybrid system (CPU + GPU / DSP) na may nakabahaging memorya at mga vectorization unit (SIMD), ito ay halos tapos na.

Ang mga tampok ay idinagdag bilang mga kondisyonal na expression lastprivate, i-scan at loop ang mga direktiba, order at use_device_addr expression. Para sa OpenMP at OpenACC, idinagdag ito suporta para sa pag-download sa ika-XNUMX at ika-XNUMX henerasyon ng AMD Radeon GPUs.

Para sa mga wika ng C, ang pag-andar na "pag-access" ay naidagdag upang ilarawan ang pag-access sa pag-andar ng mga bagay na naipasa ng sanggunian o pointer at upang maiugnay ang mga bagay na ito sa mga integer argument na naglalaman ng impormasyon tungkol sa laki ng mga bagay.

Upang gumana kasabay ng "pag-access", ipinatupad ang katangiang "uri" upang makita ang maling pag-access mula sa mga pagpapaandar ng gumagamit, halimbawa, kapag sumusulat ng mga halaga sa isang lugar sa labas ng mga hangganan ng array. Ang katangian ng symver ay naidagdag din upang mai-link ang mga character sa ELF file sa mga tukoy na numero ng bersyon.

Para sa C ++, humigit-kumulang 16 na pagbabago at mga pagbabago ang naipatupad binuo sa pamantayan ng C ++ 20 kasama ang keyword na "constinit" nagdagdag at nagpatupad ng suporta para sa pagpapalawak ng mga template «pagkaunawa»Pinapayagan kang tukuyin ang isang hanay ng mga kinakailangan para sa mga parameter ng template, na habang nililimitahan ang hanay ng mga argumento na maaaring makuha bilang mga template ng template.

Din ang pinahusay na interprocedural optimization ay naka-highlight, Ang IPA-SRA ay muling idisenyo upang gumana sa panahon ng bind at bukod sa iba pang mga bagay na tinatanggal ngayon ang hindi nagamit na kalkulado at naibalik na mga halaga.

Sa mode na pag-optimize ng "-O2", pinagana ang pagpipiliang "-finline-function", na na-configure muli para sa mas compact code kaysa sa pagganap.

Ang pinahusay na pag-optimize ng link (LTO), sat nagdagdag ng isang bagong maipapatupad na file lto-dump upang magtapon ng impormasyon sa mga file ng object na naka-code na byte na LTO. Sa mga parallel pass ng LTO, ang bilang ng mga kasabay na gawain sa pagpapatupad ay maaaring matukoy nang awtomatiko at, kung hindi ito matukoy, gumamit ng impormasyon tungkol sa bilang ng mga core ng CPU bilang isang parallelization factor.

Ang mekanismo ng pag-optimize ay napabuti at batay sa mga resulta ng Code Profiling (PGO), na bumubuo ng higit na pinakamainam na code batay sa isang pagtatasa ng mga katangian ng pagpapatupad ng code.

Kung nais mong malaman ang tungkol dito, maaari mong suriin ang mga detalye ng paglabas na ito Sa sumusunod na link. 


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.