제대로 배우는 LLVM 코어 라이브러리
없습니다
도서+교보Only(교보배송)을 함께 15,000원 이상 구매 시 무료배송
15,000원 미만 시 2,500원 배송비 부과
20,000원 미만 시 2,500원 배송비 부과
15,000원 미만 시 2,500원 배송비 부과
1Box 기준 : 도서 10권
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
작가정보
저자(글) 부르노 카도소 로페즈
부르노 카도소 로페즈 Bruno Cardoso Lopes
브라질 캄피나스 대학(University of Campinas)에서 컴퓨터 사이언스 박사 학위를 받았다. 2007년부터 LLVM에 참여했으며 몇 년 동안 유지해 온 MIPS 백엔드를 처음부터 다시 구현했다. 그의 다른 공헌 중 하나는 x86 AVX 지원을 작성하고 ARM 어셈블러를 향상시켰다는 점이다. 그의 연구 관심사는 코드 압축 기술 및 감소된 비트 폭 ISA다. 과거에는 Linux 용과 FreeBSD 운영 체제용 드라이버도 개발했다.
저자(글) 라파엘 오일러
라파엘 오일러 Rafael Auler
브라질의 캄피나스(Campinas) 대학에서 박사 학위를 취득했으며 같은 대학에서 컴퓨터 사이언스 석사 학위와 같은 분야 학사 학위를 취득했다. 석사 과정에 아키텍처 설명 파일을 기반으로 LLVM 백엔드를 자동으로 생성하는 개념 증명 도구를 작성했다. 현재 박사 과정 연구 주제는 동적 바이너리 변환, 저스트 인 타임(Just-in-Time) 컴파일러 및 컴퓨터 아키텍처가 포함된다. Rafael은 Microsoft Research 2013 Graduate Research Fellowship Award를 수상했다.
번역 이준수
이준수
미국 텍사스 주립대에서 컴퓨터 사이언스로 박사 학위를 받았고, 현재 실리콘밸리의 빅데이터 서비스를 제공하는 스타트업에서 데이터 분석가(Data analyst)로 일하고 있다. 인터넷으로 연결된 세상의 거대한 데이터에서 금광을 찾는다는 사명을 갖고 있다. 멀지 않은 미래에 무인 자동차의 자율 주행 서비스가 본격화되면 대박이 날 것이라는 부푼 꿈을 꾸며 하루 하루를 살고 있다.
목차
- 1장. LLVM의 빌드와 설치
- LLVM 버전의 이해
- 프리빌트 패키지 얻기
- 소스를 사용한 빌드
2장. 외부 프로젝트
- Clang extras의 소개
- DragonEgg 플러그인의 사용
3장. 툴과 디자인
- LLVM의 기본적인 설계 원칙과 역사에 대한 소개
- 오늘날의 LLVM의 이해
- 컴파일 드라이버와의 상효 작용
- 독립 툴의 사용
- LLVM 내부 설계 살펴보기
- 첫 번째 LLVM 프로젝트의 작성
- LLVM 소스 탐색 ? 보편적 충고
4장. 프론트엔드
- Clang의 소개
- Clang을 이용한 프론트엔드 단계 학습하기
- 전체 코드
5장. LLVM 중간 표현
- IR 포멧을 다루기 위해 기본 툴 연습하기
- LLVM IR 언어 구문의 소개
- 커스텀 LLVM IR 생성기의 작성
- IR 레벨에서의 최적화
6장. 백엔드
- 백엔드 코드 구조의 학습
- 백엔드 라이브러리의 이해
- LLVM 백엔드를 위한 TableGen의 사용 방법에 대한 학습
- 명령어 선택 단계의 이해
- 스케줄러
- 머신 명령어
- 레지스터 할당
- 프롤로그와 에필로그
- 머신 코드 프레임워크의 이해
- 자신의 머신 패스 작성
7장. Just-In-Time 컴파일러
- LLVM JIT 엔진 기본기 익히기
- llvm::JIT 프레임워크에 대한 소개
- llvm::MCJIT 프레임워크에 대한 소개
- LLVM JIT 컴파일 툴의 사용
- 다른 리소스
8장. 크로스 플랫폼 컴파일
- GCC와 LLVM의 비교
- 타겟 트리플의 이해
- 툴체인의 준비
- Clang 커맨드 라인 인수를 사용한 크로스 컴파일
- Clang 크로스 컴파일러의 생성
- 자신만의 Clang 기반 크로스 컴파일러의 구축과 설치
- 테스트
- 추가 리소스
9장. Clang 정적 분석기
- 정적 분석기의 역할에 대한 이해
- 전통적인 경고와 Clang 정적 분석기의 비교
- 정적 분석기의 테스트
- 자신의 체커를 사용한 정적 분석기의 확장
- 추가 리소스
10장. LibTooling를 사용한 Clang Tools
- 컴파일 커맨드 데이터베이스의 생성
- clang-tidy 툴
- 리팩토링 툴
- 자신의 툴 작성
- 콜백 작성하기
- 추가리소스
출판사 서평
LLVM 필수 기능 및 고급 툴 개발을 위한 사용법
LLVM은 최첨단 컴파일러 기술 프레임 워크다. 다양한 라이브러리로 쉽게 확장되도록 설계되었으며 컴파일러에 대한 원활한 경험을 제공하며 새로 접하는 개발자들이 쉽게 학습할 수 있도록 해준다.
이 책에서 배우게 될 내용
- Clang 툴을 포함한 소스 프로젝트, 정적 분석기, Compiler-RT, LLDB, DragonEgg, libc++ 및 LLVM 테스트 슈트를 포함한 외부 LLVM 오픈 소스 프로젝트의 설정, 빌드, 그리고 설치
- 라이브러리와 독립 실행형 툴 사이의 LLVM 라이브러리 설계와 상호 작용 이해
- Clang 프론트엔드가 lexer, 파서, 그리고 구문 분석을 사용하는 방법을 배움으로써 소스 코드 처리 단계에 대한 지식을 향상시킨다.
- 커스텀 IR 분석과 변환 패스를 작성하는 동안 LLVM IR 파일을 사용하여 조작, 생성 및 재생한다.
- LLVM JIT(Just-In-Time) 컴파일 기능을 사용하기 위한 툴을 작성한다.
- 정적 분석기를 사용하여 버그를 찾고 코드를 개선한다.
- LibClang, LibTooling, 그리고 Clang 플러그인 인터페이스를 사용하여 소스 코드 분석과 변환 툴을 설계한다.
이 책의 대상 독자
이 책은 LLVM 프레임워크를 배우고 싶은 사람들, 컴퓨터 사이언스 관련 학생 및 컴파일러 엔지니어를 대상으로 한다. C++에 대한 배경 지식이 필요하며, 필수는 아니지만 적어도 약간의 컴파일러 이론에 대해서는 알고 있는 것이 좋다. LLVM에 대한 실질적인 소개를 제공하고 복잡한 시나리오를 피하고 있기 때문에 초보자든 컴파일러 전문가든 이 기술에 대해 흥미만 가지고 있다면 분명 여러분에게 적합할 것이다.
기본정보
ISBN | 9791186697320 |
---|---|
발행(출시)일자 | 2017년 04월 24일 |
쪽수 | 372쪽 |
크기 |
174 * 232
* 22
mm
/ 612 g
|
총권수 | 1권 |
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립