Jump to content

Clang

This is a fully translated article. Click here for more information.
From DawoumWiki, the free Mathematics self-learning
Clang
Original author(s)Chris Lattner
Developer(s)LLVM Developer Group
Initial releaseSeptember 26, 2007; 16 years ago (2007-09-26)[1]
Stable release
14.0.0 / March 23, 2022; 2 years ago (2022-03-23)
Repositorygithub.com/llvm/llvm-project
Written inC++
Operating systemUnix-like
PlatformAArch64, ARMv7, IA-32, x86-64, ppc64le[2]
TypeCompiler front end
LicenseApache License 2.0 with LLVM Exceptions[3][4]
Websiteclang.llvm.org

Clang /ˈklæŋ/[5] C, C++, Objective-C, 및 Objective-C++ 프로그래밍 언어뿐만 아니라 OpenMP,[6] OpenCL, RenderScript, CUDA, 및 HIP[7] 프레임워크에 대해 컴파일러 프런트 엔드입니다. 그것은 대부분의 그것의 컴파일 플래그와 비공식 언어 확장의 대부분을 지원하는 GCC 컴파일러 모음 (GCC)에 대해 드롭-인 교체로 역할을 합니다.[8] 그것은 정적 분석기와 여러 코드 분석 도구를 포함합니다.[9]

Clang은 LLVM 컴파일러 백-엔드와 함께 작동하고 LLVM 2.6 이상의 하위프로젝트였습니다.[10] LLVM과 마찬가지로, 그것은 아파치 라이선스 2.0 소프트웨어 라이선스에 따른 자유와 오픈-소스 소프트웨어입니다.[3][4] 그것의 기여자는 Apple, Microsoft, Google, ARM, Sony, Intel, 및 AMD를 포함합니다.

2021년 10월 당시, Clang의 최신 주요 버전, Clang 13은 C++17까지 게시된 모든 C++ 표준을 완전한 지원을 가지고, C++20의 대부분의 기능을 구현하고, 향후 C++23 표준에 대해 초기 지원을 추가합니다. 버전 6.0.0이래로, Clang은 기본적으로 C++14 표준과 GNU 확장을 준수하는 특색을 포함하는 기본적으로 GNU++14 통용어를 사용하여 C++를 컴파일합니다.[11]

Installation

데비안 버전마다 제공하는 버전이 다르며, 데비안 11에서 9와 11 두 가지 버전을 제공합니다:

  • sudo apt install clang-9 clang-11

데비안 11에서 보다 최신의 버전은 아래에서 구할 수 있습니다:

Using nighthly packages

개발 홈페이지에서 제공하는 패키지를 설치할 수 있습니다. 여기서 정보를 얻을 수 있습니다.

먼저 설치된 우분투 버전을 확인하십시오:

  • lsb_release -a

그런-다음 아래와 같이 해당 버전에서 원하는 버전을 읽을 수 있도록 소스의 위치를 입력하십시오:

  • sudo vi /etc/apt/sources.list
deb http://apt.llvm.org/bullseye/ llvm-toolchain-bullseye-13 main
deb-src http://apt.llvm.org/bullseye/ llvm-toolchain-bullseye-13 main

정보를 가져오기 위해 키를 더합니다:

그런-다음 패키지 목록을 갱신하고 관련된 홈페이지 안내서에 따라 다음 패키지를 설치할 수 있습니다:

  • sudo apt update
  • sudo apt install clang-13 clang-tools-13 clang-13-doc libclang-common-13-dev libclang-13-dev libclang1-13 clang-format-13 python3-clang-13 clangd-13 clang-tidy-13

Version change

만약 여러 버전이 동시에 설되되었다면, 설치 후에 원하는 버전을 선택적으로 변경할 수 있도록 아래의 과정을 진행하십시오:

  • sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-10 100 --slave /usr/bin/clang++ clang++ /usr/bin/clang++-10
  • sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-11 110 --slave /usr/bin/clang++ clang++ /usr/bin/clang++-11
  • sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-12 120 --slave /usr/bin/clang++ clang++ /usr/bin/clang++-12
  • sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-13 130 --slave /usr/bin/clang++ clang++ /usr/bin/clang++-13
  • sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-14 140 --slave /usr/bin/clang++ clang++ /usr/bin/clang++-14
  • sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-15 150 --slave /usr/bin/clang++ clang++ /usr/bin/clang++-15
  • sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-16 160 --slave /usr/bin/clang++ clang++ /usr/bin/clang++-16
  • sudo update-alternatives --config clang

See also

References

  1. ^ "LLVM 2.1 Release Notes". llvm.org. LLVM Developer Group. 27 September 2007.
  2. ^ "Releases". llvm / llvm-project repo. LLVM Developer Group. 27 August 2021 – via GitHub.com.
  3. ^ a b "LICENSE.TXT", llvm.org, LLVM Developer Group, retrieved 2019-09-24
  4. ^ a b "LLVM Developer Policy", llvm.org, LLVM Developer Group, § Copyright, License, and Patents
  5. ^ Christopher, Eric (3 July 2008). "simply wonder pronunciation of Clang". LLVMdev (Mailing list). Retrieved 2015-09-22.
  6. ^ "OpenMP Support". LLVM Project Blog. May 22, 2015. Retrieved 28 March 2016.
  7. ^ "C++ Heterogeneous-Compute Interface for Portability". GitHub. Retrieved 18 February 2020.
  8. ^ "Clang Language Extensions". Retrieved 2017-11-08. In addition to the language extensions listed here, Clang aims to support a broad range of GCC extensions.
  9. ^ "Clang Static Analyzer". LLVM. Retrieved 3 September 2009.
  10. ^ "Getting Involved with the Clang Project", clang.llvm.org, LLVM Developer Group, retrieved 2012-09-18, Clang is a subproject of the LLVM Project, but has its own mailing lists because the communities have people with different interests.
  11. ^ "Clang 6.0.0 Release Notes". LLVM.

External links