FREEDOM. FRIENDS. FEATURES. FIRST.
페도라 한국 사용자 모임

clang 사용가이드

게시판 Tech/Tip clang 사용가이드

  • This topic has 2개 답변, 2명 참여, and was last updated 11 years 전에 by 인베인. This post has been viewed 18 times
  • 만든이
    게시글
  • #12105
    인베인
    참가자
    • 게시글141
    • 댓글379
    • 총합520
    • ★★
    @leemgs


    1. Compile

    #> cd llvm/tools
    #> svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
    #> cd clang
    #> make

    1. 사용방법
    #> clang implicit-def.c -std=c89 ( GCC 호환 옵션 지원)
    #> clang -arch ppc -arch linux -fsyntax-only portability.c ( -arch 옵션 지원)
    #> time clang -parse-noop INPUT/carbon_h.c (퍼포먼스 분석 옵션 : -Eonly, -parse-noop, -stats)

    2. High Level Architecutre

    AST->LLVM:
    AST      : Semantic analysis, type checking, Builds Abstract Syntax Trees for valid input
    Parse    : Hand built recursive descent(C99 Now, ObjC/C++ Later)
    Lex      : Lexing, Preprocessing, and pragma handling(C/C++/ObjC), Indentifier hash table,
              tokens, macros, literals
    Basic    : Source Manager(Locatins, ranges, buffer, file caching), Diagnostics,
              target description, language dialect control
    LLVM (Suppport/System): Casting, CommandLine, MemoryBuffer, MappedFile
                           FoldingSet, SmallVector, SmallSet, StringMap, SamllString, APInt

    3. Non Goals

    Q1) 기존 GCC을 제거하기 위해 예를 들면 llvm-gcc를 만든 것이 목표인가?
       Goal이 근본적으로 GCC와는 다르며, GCC의 존재를 긍정적으로 생각한다.

    Q2) C언어 이외에도 지원을 할것인가?
      Java, Ada, FORTRAN을 위한 계획을 가지고 있지 않음.

    * 오픈소스는 Open Innovationa & 윈윈전략을 도모할 지언정 절대 공짜(무료)임을 뜻하지 않는다.치

1 답변 글타래를 보이고 있습니다
  • 글쓴이
    답변
    • #12709
      ELem
      참가자
      • 게시글67
      • 댓글672
      • 총합739
      • ★★
      @Bardisch

      오호 또다른 컴파일러인가요

    • #12710
      인베인
      참가자
      참가자
      • 게시글141
      • 댓글379
      • 총합520
      • ★★
      @leemgs

      cclang는 Front End 입니다.

      * 오픈소스는 Open Innovationa & 윈윈전략을 도모할 지언정 절대 공짜(무료)임을 뜻하지 않는다.치

1 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.