C++ 기타 정보 (Cling, Clang)

규규·2024년 1월 16일
0
post-thumbnail

Compiler platform 에 대한 이해

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=yong030389&logNo=221698524595

Cling

  • interactive C++ interpreter, built on top of the Clang and LLVM compiler infrastructure
  • C++,Python 간에 네이티브와 유사한 동적 런타임 상호 운용성 제공
  • 이기종 하드웨어의 원활한 활용
  • 프로젝트 결과는 LLVM, Clang, Cling 에 통합
    출처 :
    https://blog.llvm.org/posts/2020-11-30-interactive-cpp-with-cling/

Clang

  • C, C++, Objective-C, Objective-C++ 언어를 컴파일하기 위한 LLVM (Low Level Virtual Machine) 프로젝트의 메인 프론트엔드. gcc 와 호환 되며, gcc 를 대체하는 것이 목표
  • gcc 가 GPLv3 를 적용한 이후 소스 코드 공개를 꺼리는 기업들이 LLVM/Clang 을 지원 중임
  • 소스 코드를 LLVM IR (LLVM Intermediate Representation) 으로 컴파일. 빌드 자동화 스크립트는 gcc 와 동일하게 Makefile 활용
  • Clang-format : C/C++/Objective-C 코드 자동 서식 맞춤 도구. coding convention 을 강제 할 수 있음. (formatter)
  • Clang-tidy : 스타일 위반, 인터페이스 오용 또는 정적 분석을 통해 추론 할 수 있는 프로그래밍 오류를 진단하고 수정 (linter)
  • *cppcheck 라는 정적분석 툴도 추천

출처 :
https://blog.llvm.org/posts/2020-11-30-interactive-cpp-with-cling/
https://csj000714.tistory.com/411

2023 Jetbrain C++ Survey

https://www.jetbrains.com/lp/devecosystem-2023/cpp/

Which tools or techniques do you use to optimize your C++ project build times?
1. Optimizing header includes and dependencies (30%)
2. Precompiled headers (28%)
3. Parallelizing the compilation of source files (23%)
4. Compiler cache (19%)

더 안전하게 C++ 코드를 작성하는 법

https://www.cv-learn.com/20220115-safer-c/
(나중에 읽어 보기)

C++ 정적 코드 분석하기

https://nx006.tistory.com/37
(나중에 읽어 보기)

profile
복습용 저장소

0개의 댓글