컴퓨터 지식 네트워크 - 컴퓨터 구성 - sdcc 버전은 무엇을 의미하나요?

sdcc 버전은 무엇을 의미하나요?

SDCC(Small Device C Compiler)는 Intel 8051, Maxim 80DS390, Zilog Z80 및 Motorola 68HC08 기반의 마이크로컨트롤러를 대상으로 하는 최적화된 ANSI-C 크로스 컴파일러입니다.

SDCC에는 현재 버전의 Daniel s51 에뮬레이터를 사용하는 소스 코드 수준 디버깅 도구인 SDCDB도 함께 제공됩니다. SDCC는 Sandeep Dutta가 작성했으며 GPL 라이센스에 따라 출시되었습니다.

sdcc의 기능:

1. GNU General Public에 따르면 SDCC의 sdas 및 sdld는 AXXXXX 기반의 크로스 컴파일 도구이자 링크 도구입니다. 라이센스(GPL) 릴리스.

2. 기본 하드웨어 리소스를 효율적으로 사용할 수 있는 특정 MCU용 프로그래밍 언어 확장이 있습니다.

3. 전역 단어 표현 감소, 루프 최적화(연산 없는 루프 최적화, 유도 변수 루프 최적화, 역 루프 최적화), 상수 병합 전파, 복사 전파 등 표준 최적화가 많이 있습니다. , 데드 코드 제거, 'switch' 문의 전송 테이블 최적화.

4. 전역 레지스터 할당 알고리즘을 포함한 특정 MCU에 대한 최적화.

5. 특정 MCU 백엔드 적응성은 다른 8비트 MCU에 잘 적응할 수 있습니다.

확장 정보:

크로스 컴파일의 출현과 인기는 임베디드 시스템의 광범위한 개발과 동시에 발생합니다. 일반적으로 사용되는 컴퓨터 소프트웨어는 고급 컴퓨터 언어(예: C 코드)로 작성된 코드를 컴퓨터가 인식하고 실행할 수 있는 바이너리 코드로 컴파일(컴파일)하려면 컴파일이 필요합니다.

예를 들어 Windows 플랫폼에서는 Visual C++ 개발 환경을 사용하여 프로그램을 작성하고 이를 실행 가능한 프로그램으로 컴파일할 수 있습니다. 이런 식으로 우리는 PC 플랫폼에서 Windows 도구를 사용하여 Windows 자체용 실행 프로그램을 개발합니다. 이 컴파일 프로세스를 네이티브 컴파일이라고 하며 중국어로 네이티브 컴파일로 이해할 수 있습니다.

그러나 임베디드 시스템을 개발할 때 일반적으로 프로그램이 실행되는 대상 플랫폼은 저장 공간과 컴퓨팅 성능이 제한되어 있습니다. 예를 들어 일반적인 ARM 플랫폼은 약 16~32MB의 일반적인 정적 저장 공간을 갖습니다. , 그리고 CPU의 주요 주파수는 아마도 100MHz에서 500MHz 사이일 것입니다.

이 경우 ARM 플랫폼에서의 네이티브 컴파일은 거의 불가능합니다. 왜냐하면 일반적인 컴파일 도구 체인에는 큰 저장 공간이 필요하고 강력한 CPU 컴퓨팅 성능이 필요하기 때문입니다.

이 문제를 해결하기 위해 크로스 컴파일 도구가 등장했습니다. 크로스 컴파일 도구를 통해 강력한 CPU 성능과 충분한 저장 공간(예: PC)을 갖춘 호스트 플랫폼에서 다른 플랫폼용 실행 프로그램을 컴파일할 수 있습니다.

교차 컴파일을 수행하려면 호스트 플랫폼에 해당 교차 컴파일 도구 체인을 설치한 다음 이 교차 컴파일 도구 체인을 사용하여 소스 코드를 컴파일하고 마지막으로 다음에서 사용할 수 있는 프로그램을 생성해야 합니다. 실행할 대상 플랫폼 코드입니다.

바이두 백과사전-sdcc

바이두 백과사전-크로스 컴파일러

上篇: VSAT 위성 통신 시스템 소개 下篇: OPPO에는 어떤 클래식 모델이 있나요?
관련 내용