메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

Blog2Book, 임베디드 프로그래밍 C 코드 최적화

  • 저자 : 김유진
  • 출간 : 2008-02-28
  • 페이지 : 276 쪽
  • ISBN : 9788979145465
  • 물류코드 :1546
TAG :
초급 초중급 중급 중고급 고급
5점 (1명)
좋아요 : 63
최적화는 프로세서, 컴파일러, 사용할 수 있는 시스템 자원과 같은 여러 가지 요소를 고려해야 한다는 점에서 종합 예술과 같다. 최적화엔 절대적인 규칙이 없다. A 프로세서에서 통하는 최적화 기법이 B 프로세서에서는 시스템을 느리게 만든다. 프로그램의 코드 크기를 줄이면 데이터 크기가 늘어나고, 데이터 크기를 줄이면 코드가 늘어나는 것을 보면 최적화는 한쪽을 누르면 다른 쪽이 터지는 풍선과 같다. 이 책은 한정된 자원만 이용할 수 있는 임베디드 시스템에서 이룰 수 있는 최적화 방법을 제시하고, 프로그램의 동작 원리까지 상세하게 해설한다.

주요내용
  • 비트 연산 활용
  • 컴파일러 최적화와 코드 최적화
  • 포인터 활용을 통한 최적화
  • 임베디드 환경을 위한 변수 선택법
  • 자료구조 다이어트 기법
  • 루프 최적화 기법과 최적화를 부르는 표현
  • 컴파일러 최적화와 ARM 환경의 최적화
이 책의 특징과 장점
  • 처음 임베디드 시스템을 접하면서 겪는 문제와 의문점을 해설하면서 임베디드 시스템의 특징을 자세히 설명한다.
  • 최적화에 필요한 포인터, 어셈블리, 링커와 로더, 프로그램 실행 과정을 상세하게 분석한다.
어떤 독자를 위한 책인가?
  • 임베디드 프로그래머
  • C 언어로 최적화를 공부하고 싶은 개발자
저자

김유진

이메일: ujinkim7@gmail.com
MDS 테크놀러지에서 선임연구원으로 근무했고, 현재 프리랜서로 강의 및 개발 활동 중이다. 임베디드 소프트웨어에서부터 자바 응용프로그램까지 다양한 분야에서 개발과 강의한 경력이 있으며 기업이나 대학에서 강의 중이다. 관심분야는 임베디드 OS, 자바, 시스템 최적화이다. 기업에서 개발의 목적은 동작하는 것을 만드는 것이 아니라 적은 비용으로 최대 효과를 내는 시스템을 개발하는 것이라 설파하고 있다.

1장 김 대리, 플랫폼 개발팀으로 발령 나다.
1.1. 의문1. 임베디드 시스템이란?
1.2. 의문2. 임베디드 시스템의 구현
1.3. 의문3. 임베디드 소프트웨어 개발방법
1.4. 의문4. 프로그램을 어떻게 타겟 시스템으로 옮기나
1.5. 의문5. 임베디드 소프트웨어의 실행
1.6. 정리
 
 
2장 김 대리, 하드웨어 제어에 눈뜨다.
2.1. 의문1. 하드웨어에 어떻게 접근하나
2.2. 의문2. 하드웨어 어떻게 제어하나
2.3. 의문3. 특정 비트를 어떻게 제어하나
2.4. 정리
 
 
3장. 김 대리, 드디어 LED를 깜박이다.
3.1. 과제 1. 포인터 없이 메모리에 접근하기
3.2. 과제 2. 코드 줄이기
3.3. 정리
 
4장 컴파일러 최적화, 너무 믿지 마세요.
4.1. 외부 요인에 의해 변하는 메모리를 위한 volatile
4.2. 정리
 
 
5장 main()은 누가 호출하나
5.1. 운영체제가 있는 경우의 main() 호출과정
5.2. 운영체제가 없는 경우의 main() 호출과정
5.3. 정리
 
 
6장 포인터에 대한 오해와 진실
6.1. 오해1. 메모리에 접근하려면 포인터가 필요하다?
6.2. 오해2. 포인터와 포인터 연산은 +, -연산만 가능하다?
6.3. 오해3. 배열의 이름은 포인터이다?
6.4. 오해4. a[]배열의 a와  &a는 같은 의미이다?
6.5. 정리
 
7장 김 대리의 포인터 울렁증 극복기
7.1. 문자열 포인터
7.2. void 포인터
7.3. 함수 포인터
7.4. 정리
 
8장 최적화 꼭 해야 하나요?
8.1. 코드 최적화
8.2. 정리
 
9장 최적화의 첫 단계, 컴파일을 잘 이해하라
9.1. 컴파일(compile) 과정
9.2. 오브젝트 파일(object file)
9.3. 링킹(linking)
9.4. 재배치(relocation)
9.5. 로딩
9.6. 정리
 
10장 포인터의 활용 및 최적화
10.1. 포인터는 부피가 큰 데이터를 이동시키는 효과적인 방법이다.
10.2. 포인터 이럴 땐 선택이 아니라 필수
10.3. 힙 영역에 접근하는 방법제공
10.4. 포인터를 빠르게 하는 방법 : 포인터 체인을 제거하라.
10.5. 정리
 
11장 C는 메모리를 어떻게 사용하는가
11.1. C의 메모리
11.2. static
11.3. extern
11.4. auto
11.5. register
11.6. 정리
 
12장 변수를 잘 사용하는 건 최적화의 기본
12.1. 적절한 데이터 타입을 선택하라
12.2. 전역 변수 최적화
12.3. 지역 변수 최적화
12.4. 정적 지역 변수의 최적화 
12.5. 타입 한정자
12.6. const
12.7. 정리
 
13장 집합원소 저장의 효율적 방법
13.1. 배열 액세스, 어느 방법이 좋은가?
13.2. 배열 인덱스의 활용
13.3. 구조체의 패딩 비트를 줄여라
13.4. 유니온의 활용
13.5. 정리
 
14장 메모리는 돈이다
14.1. ROM 최적화
14.2. RAM 최적화
14.3. 정리
 
15장 함수, 생각 없이 쓰면 낭패 본다
15.1. 매크로 함수
15.2. 인라인
15.3. 재귀 함수의 최적화
15.4. 함수 분기에서 돌아오기 까지
15.5. 함수에서 인자를 잘 활용하는 팁
15.6. 리프 함수(Leaf function)의 활용
15.7. 정리
 
16장 if가 좋을까 switch가 좋을까?
16.1. 분기문 최적화
16.2. 정리
 
17장 돌리는 것도 요령껏
17.1. 좀 덜 돌면 안되겠니? => 루프 풀기(Loop Unrolling)
17.2. 가까운 루프는 합쳐라! =>루프 병합(Loop Fusion) 
17.3. 루프와 상관없는 계산을 루프 밖으로 쫓아내라
17.4. 필요 없이 루프를 끝까지 돌리지 마라 
17.5. 루프 변수
17.6. 루프를 빠르게 하는 표현
17.7. 함수 루프
17.8. 정리
 
18장 최적화를 부르는 표현
18.1. 비용이 낮은 연산자를 선택하라
18.2. short circuit 원리의 활용
18.3. 연관된 표현은 묶어서 처리하라
18.4. 고민되는 실수 연산의 표현(floating point arithmetic)
18.5. 비트 플래그의 토글링(toggling)
18.6. 유니온의 활용
18.7. 조건부 실행
18.8. 정리
 
19장 컴파일러를 사용한 최적화(GNU C Compiler)
19.1. 어셈블리 코드를 보자
19.2. 상수 대체(Constant Folding)
19.3. 중복표현 제거
19.4. 연산 강도 경감(Strength Reduction)
19.5. 정리
 
20장 ARM에서의 최적화
20.1. APCS
20.2. 루프 최적화
20.3. ARM 레지스터 활용 팁
20.4. 지역 변수 타입
20.5. 함수 최적화
20.6. 연산 최적화
20.7. 정리

  • 책이 상당히 쉽게 씌여져 있어 읽기에 무척 편합니다.

    요즘 기술 서적은 경쟁 관계에 의해 독자를 많이 배려하고 있는데

    이 책이 특히 그런 것 같네요.

    책 편집도 괜찮고 제본, 크기 등등은 맘에 들지만 아직 오타나

    편집상 실수가 있는 것 같습니다. 그리고 가격이 넘 비싼편이네요.



    책 내용은 임베디드 관점으로 많이 씌여지긴 했지만 일반 C 개발자들도

    읽어 봐야하는 부분이 많은 것 같습니다. 특히 루프 최적화나 자료 구조 다이어트,

    컴파일러 최적화 등등은 꼭 필요한 부분인 것 같습니다. C 개발자들 사이에는 교양

    도서 정도 이겠네요. 임베디드에 무지한 사람들에게도 좋은 코드 최적화 입문서가

    될 것 같습니다. ARM 프로세서를 예로 들어 설명을 하신 것도 괜찮은 것 같습니다.

    ARM이 아무래도 많이 사용되고 있는 임베디드 CPU이니 선택을 잘 하셔서 설명하

    신 것 같습니다. 너무 초보적인 부분도 없지않아 있지만 그래도 괜찮은 책인 것 같

    습니다. 적극 추천해 드리고 싶네요...

    다만... 가격은 언제나 압빡입니다... ㅡ_ㅡ;;

결재하기
• 문화비 소득공제 가능
• 배송료 : 0원배송료란?

배송료 안내

  • 책, 아이템 등 상품을 3만원 이상 구매시 무료배송
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
Blog2Book, 임베디드 프로그래밍 C 코드 최적화
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
Blog2Book, 임베디드 프로그래밍 C 코드 최적화
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
Blog2Book, 임베디드 프로그래밍 C 코드 최적화
구입처*
구입일*
부가기호*
부가기호 안내

* 회원가입후 도서인증을 하시면 마일리지 500점을 드립니다.

* 한빛 웹사이트에서 구입한 도서는 자동 인증됩니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한됩니다.

* 절판도서, eBook 등 일부 도서는 도서인증이 제한됩니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실