20231209

이재규·2023년 12월 8일
/poky/meta$ cat recipes.txt
recipes-bsp          - Anything with links to specific hardware or hardware configuration information
recipes-connectivity - Libraries and applications related to communication with other devices
recipes-core         - What's needed to build a basic working Linux image including commonly used dependencies
recipes-devtools     - Tools primarily used by the build system (but can also be used on targets)
recipes-extended     - Applications which whilst not essential add features compared to the alternatives in
                       core. May be needed for full tool functionality.
recipes-gnome        - All things related to the GTK+ application framework
recipes-graphics     - X and other graphically related system libraries
recipes-kernel       - The kernel and generic applications/libraries with strong kernel dependencies
recipes-multimedia   - Codecs and support utilties for audio, images and video
recipes-rt           - Provides package and image recipes for using and testing the PREEMPT_RT kernel
recipes-sato         - The Sato demo/reference UI/UX, its associated apps and configuration
recipes-support      - Recipes used by other recipes but that are not directly included in images코드를 입력하세요

meta-oe의 기본 bbclass들

user@user1:~/poky/poky/meta/classes$ ls
archiver.bbclass            copyleft_compliance.bbclass  distrooverrides.bbclass  metadata_scm.bbclass        prexport.bbclass           report-error.bbclass           siteconfig.bbclass    useradd-staticids.bbclass
buildhistory.bbclass        copyleft_filter.bbclass      externalsrc.bbclass      migrate_localcount.bbclass  primport.bbclass           rm_work_and_downloads.bbclass  terminal.bbclass      yocto-check-layer.bbclass
buildstats-summary.bbclass  create-spdx-2.2.bbclass      extrausers.bbclass       multilib.bbclass            recipe_sanity.bbclass      rm_work.bbclass                toaster.bbclass
ccache.bbclass              create-spdx.bbclass          icecc.bbclass            multilib_global.bbclass     relative_symlinks.bbclass  sign_ipk.bbclass               typecheck.bbclass
ccmake.bbclass              cve-check.bbclass            image-buildinfo.bbclass  oelint.bbclass              relocatable.bbclass        sign_package_feed.bbclass      useradd_base.bbclass
chrpath.bbclass             devtool-source.bbclass       mcextend.bbclass         own-mirrors.bbclass         remove-libtool.bbclass     sign_rpm.bbclass               useradd.bbclass코드를 입력하세요

프로필 사진
icecc란 무엇인가요?

ICECC는 Integrated Compiler Construction Environment for C의 약자로, C 언어를 위한 통합 컴파일러 개발 환경입니다. ICECC는 컴파일러 작성에 필요한 다양한 도구와 라이브러리를 제공하며, 이를 통해 컴파일러를 보다 쉽고 빠르게 개발할 수 있습니다.

ICECC는 다음과 같은 기능을 제공합니다.

C 언어의 구문 분석, 의미 분석, 코드 생성 등 컴파일러의 주요 기능을 구현하는 도구
컴파일러의 성능을 측정하고 분석하는 도구
컴파일러의 테스트를 지원하는 도구
ICECC는 오픈 소스 프로젝트로, GitHub에서 무료로 다운로드할 수 있습니다.

ICECC의 주요 기능은 다음과 같습니다.

구문 분석: C 언어의 구문을 분석하여 토큰과 문법 요소로 분해합니다.
의미 분석: 구문 분석 결과를 바탕으로 변수, 함수, 상수 등의 의미를 분석합니다.
코드 생성: 의미 분석 결과를 바탕으로 기계어 코드를 생성합니다.
컴파일러 성능 측정: 컴파일러의 성능을 측정하고 분석합니다.
컴파일러 테스트: 컴파일러의 테스트를 지원합니다.
ICECC는 C 언어를 위한 다양한 컴파일러를 개발하는 데 사용되었습니다. 대표적인 예로는 다음과 같은 컴파일러가 있습니다.

GCC: 오픈 소스 컴파일러
LLVM: 오픈 소스 컴파일러 프레임워크
Clang: LLVM을 기반으로 하는 컴파일러
ICECC는 C 언어 컴파일러 개발을 위한 강력한 도구입니다. ICECC를 사용하면 컴파일러를 보다 쉽고 빠르게 개발할 수 있으며, 보다 효율적인 컴파일러를 개발할 수 있습니다.

프로필 사진
Icecream distributed compiling 은 무엇인가요?
다른 답안 보기

Icecream distributed compiling은 ICECC를 기반으로 하는 분산 컴파일러입니다. Icecream은 여러 대의 컴퓨터를 사용하여 컴파일 작업을 분산하여 수행함으로써 컴파일 시간을 단축하는 것을 목표로 합니다.

Icecream은 다음과 같은 특징을 가지고 있습니다.

분산 컴파일: 여러 대의 컴퓨터를 사용하여 컴파일 작업을 분산하여 수행합니다.
매개변수화: 컴파일 작업을 매개변수화하여 다양한 컴퓨팅 환경에서 사용할 수 있습니다.
확장성: 컴퓨터 수를 추가하여 컴파일 속도를 더욱 높일 수 있습니다.
Icecream은 다음과 같은 분야에서 사용될 수 있습니다.

대규모 소프트웨어 컴파일: 대규모 소프트웨어의 컴파일 시간을 단축하기 위해 사용될 수 있습니다.
임베디드 시스템 컴파일: 임베디드 시스템의 컴파일 시간을 단축하기 위해 사용될 수 있습니다.
클라우드 컴퓨팅: 클라우드 컴퓨팅 환경에서 컴파일 작업을 수행하기 위해 사용될 수 있습니다.
Icecream은 아직 개발 중이지만, 다양한 분야에서 유용하게 사용될 수 있는 잠재력을 가지고 있습니다.

Icecream distributed compiling의 작동 방식은 다음과 같습니다.

컴파일러를 실행하기 전에 컴퓨터 클러스터를 구성합니다.
컴파일러를 실행하면 컴파일 작업을 여러 개의 태스크로 분할합니다.
분할된 태스크를 클러스터의 각 컴퓨터에 할당합니다.
각 컴퓨터에서 태스크를 수행합니다.
모든 컴퓨터에서 태스크를 완료하면 컴파일러는 최종 결과를 생성합니다.
Icecream distributed compiling은 컴파일 시간을 단축하는 효과적인 방법입니다. 그러나 컴퓨터 클러스터의 구성과 관리에 대한 비용이 발생할 수 있다는 단점이 있습니다.

profile
yocto & webOS engineer

0개의 댓글