Clang

Clang
Basisdaten

Hauptentwickler Chris Lattner[1]
Entwickler The LLVM Team[2]
Aktuelle Version 19.1.6[3]
(17. Dezember 2024)
Aktuelle Vorabversion 18.1.0-rc4[4]
(28. Februar 2024)
Betriebssystem Unix, GNU/Linux, Windows, macOS, und andere
Programmier­sprache C++
Kategorie Compiler-Frontend
Lizenz Apache-Lizenz 2.0 (Freie Software)
clang.llvm.org

Clang [klæŋ][5] ist ein Compiler-Frontend für die Programmiersprachen C, C++, Objective-C und Objective-C++. Es verfügt im Vergleich zu anderen Compiler-Frontends über umfangreichere und genauere statische und dynamische Analysemethoden, die die Fehlersuche erleichtern.

Clang wurde als Frontend für das Compiler-System LLVM entwickelt. Durch den modularen Aufbau von Clang lassen sich seine Bestandteile aber auch in andere Produkte integrieren.[6]

Clang unterliegt einer BSD-ähnlichen Lizenz. Anders als bei der GNU General Public License besteht bei der liberaleren Apache-Lizenz kein Zwang, alle Quelltexte von Programmen offenzulegen, die Clang oder Teile davon verwenden, was vor allem für proprietäre Produkte oft von Interesse ist.

Einsatz des Compilers

Die Software Clang ist eng mit dem LLVM-Projekt verzahnt. Es wurde als Ersatz für das GCC-Compiler-Frontend entwickelt. Seit September 2009 gilt Clang offiziell als stabil und produktiv verwendbar und findet sich mit LLVM Version 2.6 als fester Bestandteil im LLVM-Compiler-Paket.[7] Ab Version 2.7 wird die Programmiersprache C++ offiziell unterstützt.[8] Clang lässt sich aber auch ohne LLVM als rein statisches Programmanalyse- und Fehlerdiagnosewerkzeug, zum Beispiel beim Einsatz mit anderen Compilern, verwenden.[9]

Ab der Version 3.0 unterstützt das LLVM-Projekt den GCC-Compiler nicht mehr, sondern setzt Clang, oder alternativ das Dragonegg-PlugIn, verbindlich voraus.[10] Am 12. Mai 2012 kündigte das FreeBSD-Projekt den Umstieg auf Clang statt GCC als Standard-Compiler ab der Version 10.0 des Betriebssystems an.[11][12]

Auf dem Apple Macintosh sowie seit Oktober 2014 auch auf Linux ist Clang der Standard-Compiler für Google Chrome.[13][14] Clang ist zur statischen Code-Analyse in die Entwicklungsumgebung Xcode von Apple für die Programmiersprachen C, Objective-C und C++ integriert.[15]

Vergleich mit GCC

Neben GCC ist Clang ein oft eingesetzter Compiler im Open-Source-Umfeld. Er unterscheidet sich sowohl in technischer als auch lizenzrechtlicher Hinsicht von GCC.

Ein Vorteil von Clang gegenüber GCC ist die Modularität. Durch die Modularität ist Clang im Vergleich zum GCC besser in anderen Programmen wie z. B. integrierten Entwicklungsumgebungen wiederverwendbar.

Die BSD-ähnliche Lizenz macht es einfacher, Clang zusammen mit anderer Software als Gesamtpaket zu veröffentlichen.

Clang ist bei der Verarbeitung der Syntax und der Maschinencodegenerierung in einigen Fällen schneller als gcc oder g++. Der Gesamt-Zeitgewinn hängt jedoch sehr stark vom Szenario ab. Speziell unter Linux-Bedingungen ist dieser oftmals nicht so hoch wie zum Beispiel bei für Apple-Systeme typischen Umgebungen und Aufgaben.[16]

Versionsnummern

Die Versionsnummern steigen bei LLVM und Clang in der Regel etwa im halbjährlichen Rhythmus. Seit Juni 2010 entspricht die Clang-Versionsnummer der zugehörigen LLVM-Version.[17] Mit Version 18 wurde das Benennungsschema an das von GCC angepasst, in dem die erste stabile Version einer Version mit der Minor-Version 1 beginnt, während die Minor-Version 0 für den Entwicklungszweig verwendet wird, der nach der Veröffentlichung der vorherigen Hauptversion für weitere Entwicklungen genutzt wird.[18]

Veröffentlichte Versionen

Datum Version
24.12.2013 3.4.0
02.09.2014 3.5.0
25.02.2015 3.6.0
28.08.2015 3.7.0
03.03.2016 3.8.0
01.09.2016 3.9.0
09.03.2017 4.0.0
05.09.2017 5.0.0
02.03.2018 6.0.0
17.09.2018 7.0.0
18.03.2019 8.0.0
19.09.2019 9.0.0
24.03.2020 10.0.0
12.10.2020 11.0.0
15.04.2021 12.0.0
04.10.2021 13.0.0
25.03.2022 14.0.0
06.09.2022 15.0.0
17.03.2023 16.0.0
19.09.2023 17.0.0
06.03.2024 18.1.0
17.09.2024 19.1.0

Entstehung

Am 11. Juli 2007 wurde Clang unter einer Open-Source-Lizenz herausgegeben.

Auf der Konferenz BSDCan 2008 wurde Clang im Rahmen des Vortrages LLVM and Clang: Next Generation Compiler Technology vom LLVM-Projektleiter Chris Lattner vorgestellt.[19][20] Danach, auf der Apple-Entwicklerkonferenz Worldwide Developers Conference 2009, wurde Clang durch die Vorträge von Chris Lattner sowie der Entwickler Doug Gregor und Ted Kremenek präsentiert.[21][22]

Im Rahmen eines Vortrags wurde Clang im Februar 2012 auch auf der Microsoft-Entwicklerkonferenz Going Native 2012 vorgestellt.

Einzelnachweise

  1. The LLVM Compiler Infrastructure Project (englisch) – offizielle Webseite
  2. „Written by The LLVM Team“ (unterhalb der FAQ-Auflistung)
  3. LLVM 19.1.6. 17. Dezember 2024 (abgerufen am 17. Dezember 2024).
  4. LLVM 18.1.0-rc4.
  5. Eric Christopher: [LLVMdev] simply wonder pronunciation of Clang. In: LLVMdev mailing list. 3. Juli 2008, archiviert vom Original (nicht mehr online verfügbar) am 8. Februar 2012; abgerufen am 11. Mai 2020 (englisch): „We've been pronouncing it kl“
  6. clang.llvm.org Offizielle Präsenz von Clang
  7. lists.cs.uiuc.edu: LLVM 2.6 Release! (Memento vom 11. Januar 2012 im Internet Archive) (englisch)
  8. clang: a C language family frontend for LLVM (englisch) – Projektseite bei LLVM; Stand: 18. Oktober 2010
  9. Expressive Diagnostics (englisch) – Seite bei LLVM; Stand: 27. November 2009
  10. LLVM 3.0 trennt sich von GCC
  11. FreeBSD Quarterly Status Report January-March, 2012
  12. FreeBSD will Clang als Standard-Compiler
  13. LLVM Project Blog: Using clang for Chrome production builds on Linux
  14. Clang als Standard-Compiler für Chrome auf Macintosh
  15. Running the analyzer within Xcode abgerufen am 20. September 2019.
  16. clang.llvm.org: Comparing clang to other open source compilers (Memento vom 22. Januar 2018 im Internet Archive) (englisch)
  17. FYI: Version number change (englisch) – Beitrag bei Clang Developers, vom 25. Juni 2010
  18. RFC: Name the first release from a branch N.1.0 instead of N.0.0. 1. Dezember 2023, abgerufen am 6. März 2024 (englisch).
  19. bsdcan.org
  20. llvm.org (PDF; 5,8 MB)
  21. Compiler State of the Union
  22. State of Clang (Video) (MOV-Datei; 268,69 MB)

Read other articles:

Verterinary service of the U.S. Army This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: United States Army Veterinary Corps – news · newspapers · books · scholar · JSTOR (May 2017) (Learn how and when to remove this template message) Veterinary CorpsBranch insigniaActive1916 – present dayCountry United S...

 

Bolloré LogisticsSebelumnyaSDVJenisSwastaIndustriTransportasi & LogistikDidirikan1986 (1986)KantorpusatPuteaux, PrancisWilayah operasiSeluruh duniaTokohkunciThierry Ehrenbogen (CEO)JasaTransportasi multimoda, kepatuhan regulasi dan bea, logistik, serta rantai pasokKaryawan20.682 (2021)IndukBolloré Transport & LogisticsSitus webbollore-logistics.com Bolloré Logistics adalah unit bisnis transportasi dan logistik dari Bolloré Transport & Logistics, anak usaha Bolloré Group....

 

Football match2015 AFC Champions League FinalEvent2015 AFC Champions League Al-Ahli Guangzhou Evergrande 0 1 on aggregateFirst leg Al-Ahli Guangzhou Evergrande 0 0 Date7 November 2015VenueAl-Rashid Stadium, DubaiAFC Man of the MatchZheng Zhi (Guangzhou Evergrande)[1]RefereeKim Jong-hyeok (South Korea)Attendance9,480WeatherClear and warm25 °C (77 °F)62% humidity[1]Second leg Guangzhou Evergrande Al-Ahli 1 0 Date21 November 2015VenueTianhe Stadium, GuangzhouAFC ...

Village in Kuyavian-Pomeranian Voivodeship, PolandWabczVillageSaint Bartholomew church in WabczWabczShow map of PolandWabczShow map of Kuyavian-Pomeranian VoivodeshipCoordinates: 53°21′N 18°34′E / 53.350°N 18.567°E / 53.350; 18.567Country PolandVoivodeshipKuyavian-PomeranianCountyChełmnoGminaStolnoPopulation660Time zoneUTC+1 (CET) • Summer (DST)UTC+2 (CEST)Vehicle registrationCCHNational roads Wabcz [vapt͡ʂ] is a village in the administrativ...

 

La roue à aubes est une roue de construction particulière, munie de pales (ou aubes)[1], permettant de créer ou de restituer un mouvement rotatif d'axe au départ d'un mouvement linéaire de fluide. Elle constitue ainsi le cœur d'un moteur hydraulique. Initialement simples et de construction très facile, elles ont évolué au fil du temps, avec les progrès de l'hydro et de l'aérodynamique pour devenir les turbines hydrauliques d'aujourd'hui. La roue à augets est une amélioration de l...

 

Artikel ini bukan mengenai Karaite. KeraitesХэрэйд (Khereid)Abad ke-11–Abad ke-13StatusSubjects to: Liao, Kara Khitan, GenghisidsAgama Gereja TimurPemerintahanKekhananKhan • Abad ke-11 Markus Buyruk Khan• Abad ke-12 Saryk Khan• Abad ke-12 Kurchakus Buyruk Khan• –1203 Tooril Khan (terakhir) Era SejarahMiddle Ages• Didirikan Abad ke-11• ditaklukan Kekaisaran Mongol. Abad ke-13 Didahului oleh Digantikan oleh  Zubu Kekhanan Kara-Khaniyyah...

Sir Trevor SoarAdmiral Soar in 2010Born (1957-03-21) 21 March 1957 (age 67)Belper, Derbyshire, EnglandAllegianceUnited KingdomService/branchRoyal NavyYears of service1975–2012RankAdmiralCommands heldFleetHMS InvincibleHMS ChathamHMS TalentHMS OcelotAwardsKnight Commander of the Order of the BathOfficer of the Order of the British Empire Admiral Sir Trevor Alan Soar, KCB, OBE, DL (born 21 March 1957) is a retired Royal Navy officer who served as...

 

Nursing service of the U.S. Army United States Army Nurse CorpsArmy Nurse Corps branch insigniaActive1901 – present dayCountryUnited StatesBranchUnited States ArmyMotto(s)Embrace the past – Engage the present – Envision the futureMilitary unit The United States Army Nurse Corps (USANC) was formally established by the U.S. Congress in 1901. It is one of the six medical special branches (or corps) of officers which – along with medical enlisted soldiers – comprise the Army Medical Dep...

 

Voce principale: Christopher Lee. Christopher Lee ai Women's World Awards 2009. Christopher Lee è stato un attore e cantante britannico. Nella quasi settantennale carriera, ha ricoperto molti ruoli, principalmente quello dell'antagonista. Tra i personaggi più noti da lui interpretati, vi sono Dracula (che ha interpretato per dodici volte), il Conte Dooku nella trilogia prequel di Guerre stellari, e lo stregone Saruman il Bianco nelle trilogie de Il Signore degli Anelli e de Lo Hobbit. Ha i...

Voce principale: Milano. La Cattedrale di Santa Maria Nascente, più nota come Duomo di Milano, uno dei simboli della città Per chiese di Milano si intendono gli edifici di culto cristiani della città di Milano. Indice 1 Generalità 2 Elenco chiese 2.1 IV secolo 2.2 V secolo 2.3 VII secolo 2.4 IX secolo 2.5 X secolo 2.6 XI secolo 2.7 XII secolo 2.8 XIII secolo 2.9 XIV secolo 2.10 XV secolo 2.11 XVI secolo 2.12 XVII secolo 2.13 XVIII secolo 2.14 XIX secolo 2.15 XX secolo 3 Chiese scomparse ...

 

土库曼斯坦总统土库曼斯坦国徽土库曼斯坦总统旗現任谢尔达尔·别尔德穆哈梅多夫自2022年3月19日官邸阿什哈巴德总统府(Oguzkhan Presidential Palace)機關所在地阿什哈巴德任命者直接选举任期7年,可连选连任首任萨帕尔穆拉特·尼亚佐夫设立1991年10月27日 土库曼斯坦土库曼斯坦政府与政治 国家政府 土库曼斯坦宪法 国旗 国徽 国歌 立法機關(英语:National Council of Turkmenistan) ...

 

Ter

Artikel ini bukan mengenai Tar. Ter hasil pirolisis brangkasan jagung Ter (Belanda: teercode: nl is deprecated ; bahasa Inggris: tar) adalah cairan berbasis karbon dan hidrokarbon kental yang didapatkan dari berbagai jenis materi organik melalui proses distilasi destruktif. Ter dapat dihasilkan dari batu bara, kayu, minyak bumi, dan gambut.[1] Produksi dan perdagangan ter pinus pernah menjadi penggerak ekonomi utama Eropa Utara[2] dan Amerika kolonial. Fungsi utamanya adal...

乔冠华 中华人民共和国外交部部长 中国人民对外友好协会顾问 任期1974年11月—1976年12月总理周恩来 → 华国锋前任姬鹏飞继任黄华 个人资料性别男出生(1913-03-28)1913年3月28日 中華民國江蘇省盐城县逝世1983年9月22日(1983歲—09—22)(70歲) 中华人民共和国北京市籍贯江蘇鹽城国籍 中华人民共和国政党 中国共产党配偶明仁(1940年病逝) 龚澎(1970年病逝) 章含�...

 

American philanthropic organization The Rockefeller FoundationFoundedMay 14, 1913; 111 years ago (1913-05-14)FoundersJohn D. RockefellerJohn D. Rockefeller Jr.Frederick Taylor GatesTypeNon-operating private foundation(IRS exemption status): 501(c)(3)[1]Tax ID no. 13-1659629Location420 Fifth Avenue, New York City, New York, U.S.MethodEndowmentKey peopleRajiv Shah(president)Endowment$6.3 billion (2022)[2]Websiterockefellerfoundation.org The Rockefeller Foundati...

 

I liga 1970-1971 Competizione I liga Sport Calcio Edizione 45ª Organizzatore PZPN Luogo  Polonia Partecipanti 14 Formula Girone unico Sito web https://www.pzpn.pl/ pzpn.pl Risultati Vincitore Górnik Zabrze(9º titolo) Retrocessioni ROW 1964 RybnikGKS Katowice Statistiche Miglior marcatore Andrzej Jarosik (13) Incontri disputati 182 Gol segnati 395 (2,17 per incontro) Cronologia della competizione 1969-70 1971-72 Manuale L'edizione 1970-71 della I liga vide la vittoria finale...

Ancient Chinese competitive ball game CujuChinese women playing cuju, by Ming dynasty painter Du JinChinese蹴鞠Literal meaningkick ballTranscriptionsStandard MandarinHanyu PinyincùjūWade–Gilests'u4-chü1IPA[tsʰû.tɕý]HakkaRomanizationtsiok-giokYue: CantoneseYale RomanizationchūkgūkJyutpingcuk1-guk1IPA[tsʰok̚˥.kok̚˥]Southern MinHokkien POJchiok-kiok Cuju or Ts'u-chü (蹴鞠) is an ancient Chinese ball game. FIFA cites Cuju as one of the earliest competitive ball game...

 

Sketches by Boz Bagian depan dari (seri pertama) edisi pertama, Februari 1836. Digambar oleh George CruikshankPengarangCharles Dickens (Boz)Judul asliSketches by Boz, Illustrative of Every-day Life and Every-day PeopleIlustratorGeorge CruikshankPerancang sampulGeorge CruikshankNegaraInggrisBahasaInggrsGenreSketsaDiterbitkan1833–1836 di koran periodik; pada tahun 1836 (dua seri); pertama edisi pertama 1839PenerbitJohn Macrone, St. James's SquareDiikuti olehThe Pickwick Papers&...

 

Pemilihan umum legislatif Indonesia 1992198719979 Juni 1992 (1992-06-09)400 kursi Dewan Perwakilan RakyatKandidat   Partai pertama Partai kedua Partai ketiga   Partai Golkar PPP PDI Pemilu sebelumnya 299 kursi, 73,11% 61 kursi, 15,96% 40 kursi, 10,93% Kursi yang dimenangkan 282 62 56 Perubahan kursi 17 1 16 Suara rakyat 66.599.331 16.624.647 14.565.556 Persentase 68,10% 17,00% 14,89% Swing 5,01% 1,04% 3,96% Pemilihan Umum Dewan Perwakilan Rakyat dan De...

Consonantal sound often represented by ⟨ʒ⟩ in IPA This article is about the palato-alveolar consonant. For the retroflex consonant, see Voiced retroflex fricative. For the alveolo-palatal consonant, see Voiced alveolo-palatal fricative. The voiced postalveolar or palato-alveolar fricative is a type of consonantal sound used in some spoken languages. The International Phonetic Association uses the term voiced postalveolar fricative only for the sound [ʒ],[1] but it also describes...

 

Questa voce sull'argomento edizioni di competizioni calcistiche è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. Kypello Ellados 2005-2006 Competizione Coppa di Grecia Sport Calcio Edizione 64ª Date 20 Agosto 2005 - 10 Maggio 2006 Luogo  Grecia Risultati Vincitore  Olympiacos(22º titolo) Secondo  AEK Atene Cronologia della competizione 2004-2005 2006-2007 Manuale La Coppa di Grecia 2005...