LCC(컴파일러)

LCC (compiler)
LCC
개발자데이브 핸슨과 크리스 프레이저
초기 릴리즈1994년, 28년(연간)
안정된 릴리스
4.2 / 2002년9월 4일, 19년 전(2002-09-04)
기입처C
운영 체제크로스 플랫폼
유형컴파일러
면허증.LCC 라이선스[1]
웹 사이트drh.github.io/lcc/

LCC ("Local C Compiler" 또는 "Little C Compiler")는 ANSI C 프로그래밍 언어용 작은 대상 변경 가능한 컴파일러입니다.LCC에서 파생된 제품은 판매되지 않을 수 있지만 LCC에서 파생되지 않은 컴포넌트가 [1]판매될 수 있기 때문에 소스코드는 개인 용도로 무료로 [2]제공되지만 일반적인 정의에 따르면 오픈 소스 또는 자유 소프트웨어는 아닙니다.그것은 Chris Fraser와 David Hanson에 의해 개발되었다.

LCC

LCC는 이해하기 쉽고 문서화되어 있습니다.설계에 대해서는 Fraser와 Hanson의 저서 "A Retargetable C 컴파일러: 설계구현이 책에는 noweb을 사용하여 리터러티 프로그램으로 작성된 컴파일러 버전 3.6의 소스 코드가 대부분 포함되어 있습니다.2011년 7월 현재 LCC의 현재 버전은 4.2이지만, 이 책의 대부분은 여전히 이 버전에 적용됩니다.이 책이 출판된 이후 가장 큰 변화는 코드 생성기 인터페이스에 있으며, 코드 생성기는 별도의 [3]문서에 설명되어 있습니다.

LCC의 소스 코드는 약 20,000줄로, 많은 주요 [4]컴파일러보다 훨씬 작습니다.

LCC는 Alpha, SPARC, MIPS, x86여러 프로세서아키텍처용 코드를 생성할 수 있습니다.또, Microsoft 의 Common Intermediate [5]Language 를 생성하는 LCC 백엔드도 있습니다.

LCC를 도입한 프로젝트

퀘이크 3

id Software의 id Tech 3 엔진수정된 버전의 LCC에 의존하여 각 게임 모듈 또는 서드파티 모드의 소스 코드를 해당 가상 [6]머신을 대상으로 하는 바이트 코드로 컴파일합니다.즉, 모듈이 시스템 호출 및 엔진에 의해 제공되는 제한된 파일 시스템 범위를 넘어 시스템을 인식하지 못한다는 것을 의미합니다. 이는 악의적인 모드 작성자에 의해 야기되는 위협을 줄이기 위한 것입니다.또 다른 고려사항은 엔진용으로 작성된 게임 및 모드는 재컴파일 없이 이식할 수 있다는 것입니다. 모듈을 실행하려면 가상 머신만 새 플랫폼으로 이식해야 합니다.

lcc-win

lcc-win32는 LCC 포크를 포함한 Microsoft Windows용 통합 개발 환경 패키지입니다.lcc-win64라는amd64 대응 제품이 있으며 2012년 [7]4월 15일부터 사용할 수 있습니다.

펠레스 C

Pelles C의 컴파일러는 C11 및 C17 지원, amd64 지원 및 인라인 [8]확장 의 추가 최적화 기술을 제공하는 대폭 수정된 LCC 버전입니다.

산술학

32비트 Windows 머신의 경우 MathWorks MATLAB 및 관련 [9]제품용으로 다른 컴파일러가 설치되지 않은 경우 Lcc가 기본값으로 사용됩니다.

면허증.

LCC는 개인 용도로 무료로 사용할 수 있으며, 모든 배포 매체 및 제품 설명서에서 LCC를 승인하면 재배포될 수 있습니다.LCC 라이선스는 여러 경우의 예에 의존합니다.LCC 자체를 무료로 배포하는 경우, LCC는 영리 목적으로 판매되지 않을 수 있지만, 영리 목적으로 판매되는 다른 소프트웨어에 포함될 수 있습니다.특히 [1]C 컴파일러가 작업의 대부분을 차지하는 C++ 등의 언어 컴파일러의 경우 Adison-Wesley에 연락하여 사용자별 라이선스와 무제한 사용 라이선스를 이용할 수 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b c "LCC License". Retrieved 5 July 2011.
  2. ^ "Official Github Repository".
  3. ^ Fraser, Christopher W.; Hanson, David R. (July 2001). "The lcc 4.x Code-Generation Interface" (PDF). Microsoft Research. Technical Report MSR-TR-2001-64. Retrieved 5 July 2011.
  4. ^ Sao-Jie Chen, Gwang-Huei Lin, Pao-An Hiung, Yu-Hen Hu. "멀티미디어 SOC 플랫폼의 하드웨어 소프트웨어 공동 설계"섹션 5.6.1: LCC 컴파일러 인프라스트럭처[1]
  5. ^ Hanson, David R. (March 2004). "Lcc.NET: Targeting the .NET Common Intermediate Language from Standard C" (PDF). Microsoft Research. Retrieved 22 July 2012.
  6. ^ "John Carmack's .plan file, 24 July, 1999". Archived from the original on 2008-05-12.
  7. ^ lcc-win: Windows용 컴파일러 시스템
  8. ^ Pelles C의 개요
  9. ^ "Build MEX-Files". Archived from the original on 14 September 2012. Retrieved 6 November 2013.

참고 문헌