000 | 00931camcc2200313 c 4500 | |
001 | 000045724538 | |
005 | 20121022164920 | |
007 | ta | |
008 | 121019s2012 ggka 001c kor | |
020 | ▼a 9788992939089 ▼g 93560 | |
035 | ▼a (KERIS)BIB000012900150 | |
040 | ▼a 241050 ▼c 241050 ▼d 211009 | |
041 | 1 | ▼a kor ▼h jpn |
082 | 0 4 | ▼a 005.268 ▼2 23 |
085 | ▼a 005.268 ▼2 DDCK | |
090 | ▼a 005.268 ▼b 2012z14 | |
100 | 1 | ▼a 出村成和 |
245 | 1 0 | ▼a 안드로이드 NDK 네이티브 프로그래밍 / ▼d 데무라 나리카즈 지음 ; ▼e 이혜란 옮김 |
246 | 1 9 | ▼a Android NDKネイティブプログラミング |
246 | 3 | ▼a Andoroido Enudike neitibu puroguramingu |
260 | ▼a 파주 : ▼b 위키북스, ▼c 2012 | |
300 | ▼a xii, 300 p. : ▼b 삽화 ; ▼c 24 cm | |
500 | ▼a 감수자: 여인춘 | |
500 | ▼a 색인수록 | |
700 | 1 | ▼a 이혜란, ▼e 역 |
900 | 1 0 | ▼a 데무라 나리카즈, ▼e 저 |
900 | 1 0 | ▼a Demura, Narikazu, ▼e 저 |
945 | ▼a KLPA |
소장정보
No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
---|---|---|---|---|---|---|---|
No. 1 | 소장처 중앙도서관/제2자료실(3층)/ | 청구기호 005.268 2012z14 | 등록번호 111677735 | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
No. 2 | 소장처 세종학술정보원/과학기술실/ | 청구기호 005.268 2012z14 | 등록번호 151312392 | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
---|---|---|---|---|---|---|---|
No. 1 | 소장처 중앙도서관/제2자료실(3층)/ | 청구기호 005.268 2012z14 | 등록번호 111677735 | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
---|---|---|---|---|---|---|---|
No. 1 | 소장처 세종학술정보원/과학기술실/ | 청구기호 005.268 2012z14 | 등록번호 151312392 | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
컨텐츠정보
책소개
안드로이드 NDK를 이용해 안드로이드 단말 본래의 성능을 극대화하는 방법에 주안점을 두고 설명한 책. 안드로이드 NDK에서 지원하는 각종 라이브러리 및 컴파일러와 같은 툴의 사용법과 CPU의 구조 및 컴파일러의 활용법 등을 설명한다. 또한, 안드로이드 NDK에서 이용할 수 있는 라이브러리에 대한 설명 말고도 ARM 아키텍처에 대한 세부적인 설명 및 컴파일러와 같은 툴을 이용하는 방법도 설명한다.
NDK로 안드로이드 앱 성능을 극대화하라!
안드로이드 애플리케이션 개발을 할 때 자바만으로도 애플리케이션을 개발할 수 있는데, 굳이 C/C++로 안드로이드 애플리케이션을 개발해야 할 때가 있습니다. 과거의 개발 자산을 활용하기 위해서라든지, 인터넷에서 유통되고 있는 C 라이브러리를 이용하기 위해서라든지, 여러 가지 이유를 들 수 있겠지만 그중에서 가장 큰 이유는 처리 속도를 빠르게 할 수 있다는 점입니다.
안드로이드 애플리케이션에서는 성능이 요구되는 일부 모듈을 C/C++ 같은 네이티브 코드로 개발한다거나 이미 개발돼 있는 C/C++ 라이브러리를 재활용하려면 JNI를 이용해야 합니다. 안드로이드 NDK는 애플리케이션 개발자가 이러한 JNI를 활용한 작업을 쉽게 할 수 있도록 구글에서 제공하는 개발 도구입니다. 따라서 NDK를 이용해 작업의 일부를 C/C++로 바꾸면 처리 속도를 향상할 수 있습니다. 특히 게임과 같이 빠른 반응 속도가 필요한 애플리케이션을 만들 때도 NDK가 유용합니다.
이 책에서는 안드로이드 NDK를 이용해 안드로이드 단말 본래의 성능을 극대화하는 방법에 주안점을 두고 설명합니다. 그러므로 안드로이드 NDK에서 지원하는 각종 라이브러리 및 컴파일러와 같은 툴의 사용법과 CPU의 구조 및 컴파일러의 활용법 등을 설명합니다. 또한, 안드로이드 NDK에서 이용할 수 있는 라이브러리에 대한 설명 말고도 ARM 아키텍처에 대한 세부적인 설명 및 컴파일러와 같은 툴을 이용하는 방법도 설명합니다.
정보제공 :

저자소개
데무라 나리카즈(지은이)
프리랜서 엔지니어. 일본 내 발매 전부터 남는 시간에 시작했던 안드로이드 관련 개발이 지금은 본업이 되어버린, 안드로이드 때문에 인생이 바뀐 사람이다. 패밀리 컴퓨터부터 플레이스테이션2에 이르기까지 게임 프로그래머라는 이력을 지닌 3D 달인이며, 지금까지 다양한 프로그래밍 언어를 다뤘지만 기본적으로 어셈블러, C/C++ 등 저수준에서 주로 사용되는 언어를 좋아한다. 일본 안드로이드 협회 가나자와 지부 소속이다.
이해란(옮긴이)
일본 외국어 전문학교 일한통역과 졸업 후 일본에서 웹 개발자로 근무했으며, 다년간 IT 기술서 및 교재를 번역했다. 현재 번역에이전시 엔터스코리아에서 IT 분야 전문 번역가로 활동하고 있다. 역서로는 《안드로이드 NDK 네이티브 프로그래밍》, 《MyFirst MySQL & PHP Programming》, 《스타트업 게임 기획 첫걸음》, 《아이디어 하나로 도전하는 스타트업 Unity 2D 게임 개발》, 《Unity4 입문》 등이 있다.
여인춘(감수)
텍사스 A&M 대학에서 컴퓨터공학 박사 학위를 취득했다. 삼성전자 DMC 연구소의 수석 연구원으로서 근무했으며, 퇴사 전까지 삼성전자 인공지능 개발 팀에서 일했다. 현재 텍사스 대학에서 Health and Science 교수로 재직 중이며 휴스턴 대학교에서 인공지능 관련 연구를 수행하고 있다. 모바일 프로그래밍, 프로그래밍 언어 등 다양한 분야의 기술 서적을 20여 권 집필하고 번역했다.

목차
목차 Chapter 01 안드로이드 NDK란? 01.01 이 책에 대해 = 2 01.02 안드로이드의 개발 라이브러리 = 3 01.03 안드로이도 NDK에서 이용할 수 있는 기능 = 5 01.04 안드로이드의 내부 구조(계층) = 7 01.05 애플리케이션 실행환경 = 10 01.06 실행파일이 생성되기까지 = 13 01.07 안드로이드 NDK의 장단점 = 14 01.08 설치 = 18 01.09 정리 = 20 Chapter 02 자바와 안드로이드 NDK 02.01 JNI란? = 22 02.02 JNI의 규약 = 23 02.03 log 출력하기 = 39 02.04 자바에서 C 함수 호출하기 = 41 02.05 JNIHelp 이용하기 = 47 02.06 정리 = 53 Chapter 03 NativeActivity 03.01 NativeActivity란? = 56 03.02 NativeActivity와 게임 = 56 03.03 이벤트 = 59 03.04 NativeActivity의 제약 = 60 03.05 논블록에 대해 = 61 03.06 NativeActivityGlue = 65 03.07 정리 = 81 Chapter 04 OpenGL|ES 04.01 OpenGL와 OpenGL|ES = 84 04.02 SurfaceView란? = 86 04.03 안드로이드의 OpenGL|ES = 87 04.04 예제 프로그램(OpenGL|ES 1.1) = 88 04.05 OpenGL|ES 2.1 = 106 04.06 AndroidBitmap = 135 04.07 정리 = 140 Chapter 05 사운드 05.01 OpenSL|ES에 대해 = 144 05.02 사운드 포맷 = 148 05.03 재생과 녹음 = 149 05.04 데이터 소스 = 151 05.05 안드로이드 확장기능 = 152 05.06 이펙트에 대해 = 155 05.07 예제 코드 = 158 05.08 설정 = 171 05.09 제약 사항 = 172 05.10 정리 = 174 Chapter 06 입출력(센서, 키보드, 파일) 06.01 안드로이드 NDK에서 센서 이용하기 = 176 06.02 터치패널 = 176 06.03 키 입력 = 180 06.04 센서 = 182 06.05 Configuration = 190 06.06 Assets = 191 06.07 정리 = 194 Chapter 07 툴(컴파일러, 디버거) 07.01 툴체인 = 196 07.02 arm-linux-androideabi-4.4.3의 새로운 기능 = 197 07.03 STL = 198 07.04 gcc의 확장 기능 = 201 07.05 외부 프로젝트 참조 = 205 07.06 정수 = 212 07.07 ndk-gdb = 213 07.08 ndk-build = 215 07.09 정리 = 216 Chapter 08 아키텍처 08.01 ARM 프로세서 = 218 08.02 Cortex-A8 = 219 08.03 아키텍처의 구성 = 222 08.04 메모리 = 228 08.05 L1 캐시와 L2 캐시 = 229 08.06 ABI = 230 08.07 cpu-features = 234 08.08 정리 = 237 Chapter 09 최적화 09.01 최적화의 순서 = 240 09.02 문제가 되는 부분 파악하기 = 242 09.03 최적화 방법 = 246 09.04 실행 바이너리의 실행 효율 향상시키기 = 248 09.05 캐시의 적중률 향상시키기 = 251 09.06 gcc에 의한 최적화 = 253 09.07 그래픽스의 최적화 = 256 09.08 소수 연산 = 258 09.09 정리 = 261 Chapter 10 NEON 10.01 ARM 명령과 NEON 명령의 차이 = 264 10.02 NEON 명령에 대한 상세 설명 = 266 10.03 NEON 명령 출력하기 = 273 10.04 벡터화 = 276 10.05 정리 = 282 Chapter 11 레퍼런스 11.01 ndk-build에 대해 = 284 11.02 Android.mk = 285 11.03 Application.mk 파일 = 292