HOME > Detail View

Detail View

유닉스 리눅스 프로그래밍 필수 유틸리티 : vim, make, gcc, gdb, svn, binutils 개정판 (Loan 56 times)

Material type
단행본
Personal Author
백창우
Title Statement
유닉스 리눅스 프로그래밍 필수 유틸리티 : vim, make, gcc, gdb, svn, binutils / 백창우 지음
판사항
개정판
Publication, Distribution, etc
서울 :   한빛미디어,   2010  
Physical Medium
795 p. : 삽화 ; 26 cm
ISBN
9788979147599
General Note
개발 생산성을 높이는 유틸리티 사용법  
색인수록  
부록: 프로그래밍 유형별 가용 유틸리티, vim 명령 정리, gcc 옵션 정리 등  
000 00826camcc2200265 c 4500
001 000045619661
005 20101130185239
007 ta
008 101130s2010 ulka 001c kor
020 ▼a 9788979147599 ▼g 93560
035 ▼a (KERIS)BIB000012155318
040 ▼d 211052 ▼d 211052 ▼d 211009
082 0 4 ▼a 005.43 ▼2 22
085 ▼a 005.43 ▼2 DDCK
090 ▼a 005.43 ▼b 2010z3
100 1 ▼a 백창우
245 1 0 ▼a 유닉스 리눅스 프로그래밍 필수 유틸리티 : ▼b vim, make, gcc, gdb, svn, binutils / ▼d 백창우 지음
250 ▼a 개정판
260 ▼a 서울 : ▼b 한빛미디어, ▼c 2010
300 ▼a 795 p. : ▼b 삽화 ; ▼c 26 cm
500 ▼a 개발 생산성을 높이는 유틸리티 사용법
500 ▼a 색인수록
500 ▼a 부록: 프로그래밍 유형별 가용 유틸리티, vim 명령 정리, gcc 옵션 정리 등
945 ▼a KLPA

No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Main Library/Monographs(3F)/ Call Number 005.43 2010z3 Accession No. 111602230 Availability Available Due Date Make a Reservation Service B M
No. 2 Location Science & Engineering Library/Sci-Info(Stacks1)/ Call Number 005.43 2010z3 Accession No. 121210561 Availability Available Due Date Make a Reservation Service B M
No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Main Library/Monographs(3F)/ Call Number 005.43 2010z3 Accession No. 111602230 Availability Available Due Date Make a Reservation Service B M
No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Science & Engineering Library/Sci-Info(Stacks1)/ Call Number 005.43 2010z3 Accession No. 121210561 Availability Available Due Date Make a Reservation Service B M

Contents information

Book Introduction

프로그래밍을 쉽게, 프로그램을 견고하게 만들려면 무엇을 써야 하는지 알려주는 책. 유닉스/리눅스 프로그래머들이 필수로 알아야 하는 vim, gcc, gas, binutils, gdb, ddd, make, svn, autotools, autoconf, automake 등 다양한 도구를 활용하는 방법을 실용적인 예제로 설명한다.

뛰어난 프로그래머는 좋은 유틸리티를 적재적소에 사용할 줄 안다
프로그래머는 누구나 도구를 쓰며, 훌륭한 프로그래머는 적재적소에 도구를 사용할 줄 안다. 유닉스/리눅스 프로그래밍을 위한 도구는 많지만, 이에 대한 체계적인 안내서가 없었다. 이 책은 프로그래밍을 쉽게, 프로그램을 견고하게 만들려면 무엇을 써야 하는지 알려준다. 이 책에서는 유닉스/리눅스 프로그래머들이 필수로 알아야 하는 vim, gcc, gas, binutils, gdb, ddd, make, svn, autotools, autoconf, automake 등 다양한 도구를 활용하는 방법을 실용적인 예제로 설명한다.

【주요내용】
● vim 기초 사용법과 실제로 많이 사용하는 고급 사용법
● ctags, cscope를 사용한 소스 분석 기법
● gcc 컴파일 과정과 최적화된 컴파일 방법
● gdb, ddd를 이용한 기초 디버깅 기법과 고급 디버깅 기법
● gas를 이용한 GNU 어셈블러 익히기
● binutils를 이용한 바이너리 조작법
● make의 기초 활용법과 고급 활용법
● autoconf, automake를 사용한 여러 시스템에서 이식 가능한 프로젝트 작성법
● 원활한 팀 프로젝트 운영을 위한 CVS, Subversion 사용법
● rpm, deb를 이용한 패키지 관리법


Information Provided By: : Aladin

Author Introduction

백창우(지은이)

삼성전자, 삼성SDS, (주)누스코에서 여러 종류의 RTOS를 주도적으로 개발하였다. 삼성종합기술원에서 컴파일러를 개발하였다. (주)누스코에서 디버거와 하이퍼바이저 및 각종 시스템 S/W를 개발하였다. 현재는 (주)누스코의 대표이사로 근무하고 있고, 소프트웨어 마애스트로 멘토로 있으며, 오프라인 시스템 S/W 스터디 그룹인 http://www.iamroot.org를 10년째 운영 중에 있다.

Information Provided By: : Aladin

Table of Contents

목차
저자서문 = 3
1부 튜토리얼
 1장 튜토리얼
  01. 간단한 소스 프로그램 작성 = 19
  02. gcc로 컴파일러로 실행 파일 생성 = 21
  03. make를 사용해 프로젝트 관리 = 25
  04. 문제 발생, 벌레를 잡아라 = 29
  05. svn을 사용한 프로젝트 버전 관리 = 36
  06. doxygen을 이용한 문서화 = 40
  07. autotools를 사용한 이식성 높은 빌드 = 44
  08. RPM 패키징 = 51
2부 에디팅
 2장 vi와 vim 에디터
  01. vi 개괄 = 59
   vi의 역사 = 59
   vi의 장점 = 59
   서른 살이 다 되어가는 에디터 그 매력 = 60
  02. 기본적인 vim 사용법 트레이닝 = 61
   vim의 모드 이해 = 62
   파일 열기, 저장, 종료 = 63
   입력 = 66
   이동 = 67
   편집 = 70
   되돌리기와 되살리기 = 74
   문자열 탐색 = 74
   문자열 치환 = 75
  03. 진정 vim을 강력하게 하는 고급 테크닉 = 78
   정규 표현식을 사용한 문자열 탐색과 치환 = 78
   여러 파일을 편집하는 방법 = 88
   반복되는 문자열을 저장해서 쓰기 = 92
   매크로의 사용 = 94
   다중 창 사용하기 = 95
   마킹으로 이동하기 = 99
   셸 명령 사용 = 102
  04. vim의 조력자들 ctags, cscope, 기타 플러그인 = 104
   소스 태그를 찾기 위한 만능 해결사 ctags = 104
   ctags 설정 및 기본 사용법 = 105
   vim 내장 스크립트 작성 = 110
   cscope를 사용해 나머지 2%를 채워라 = 114
   완벽한 조합 vim+screen+ctags+cscope = 119
   모르는 함수를 알고 싶을 때 man page의 활용 = 122
   플러그인을 사용해 vim의 기능 확장 = 124
 05. 개발자를 위한 vim의 유용한 팁 = 130
   파일 탐색 기능 활용 = 130
   빠른 괄호 이동 및 빠른 탐색 = 130
   폴딩 기능 이용 = 131
   함수의 원형과 지역변수의 선언 부분으로 바로 이동 = 132
   여러 행 탭 끼워넣기 = 133
   탭 사이즈 조정 = 133
   흐트러진 소스 정렬 = 134
   행 번호 보이기 = 135
   ^M 문자 제거 = 136
   파일에서 달라진 부분 비교하기 = 137
   헤더 파일 바로 읽어 오기 = 138
   자동 완성 기능 사용하기 = 139
   정규 표현식에서의 매칭 문자 사용 = 139
  06. 개발자들의 vim 설정 = 139
 3장 기타 편집기 소개
  01. emacs = 145
  02. 이클립스 = 147
   이클립스 소개 = 147
   이클립스의 특징 = 148
   이클립스의 장단점 = 148
  03. gedit = 149
  04. KDevelop = 150
  05. anjuta = 151
3부 컴파일과 링킹
 4장 gcc compiler
  01. 컴파일의 의미 = 155
   인스트럭션과 어셈블리 = 155
   0과 1밖에 모르는 CPU = 159
  02. 알아 두면 정말 유용한 C 소스 컴파일 과정 = 163
   C 소스의 전체 컴파일 과정 = 163
   cc1-E에 의한 전처리 과정 = 171
   cc1에 의한 어셈블리 소스 파일로 컴파일 = 177
   as에 의한 기계어 코드 생성 = 202
   collect2에 의한 링킹 과정 = 208
  03. gcc를 사용해 원하는 컴파일하기 = 218
   gcc 옵션 분류 = 218
   gcc 옵션 적용 규칙 = 226
   가장 단순한 컴파일 명력 = 229
   반드시 알아야 할 gcc 필수 옵션 및 중요 옵션 = 230
  04. gcc를 이용한 최적화 컴파일 = 260
   머신 종속적인 옵션을 이용한 최적화 = 260
   프로파일 결과를 이용한 최적화 = 265
   함수 프레임 포인터 제거 = 276
   프리패치(prefetch)를 이용한 최적화 = 279
   레지스터 활용을 통한 최적화 = 281
   gcc 컴파일 속도 최적화 = 281
  05. 기타 알아 두면 좋을 만한 것 = 282
   환경 변수를 사용한 gcc 설정 = 282
   specs 파일을 이용한 gcc 설정 = 283
 5장 Id linker
  01. 링킹의 기본 이해 = 289
   링킹 과정 절차 = 289
  02. ELF 바이너리 포맷 구조 = 295
   ELF 바이너리 포맷이란? = 295
   ELF 바이너리 포맷의 구조 = 296
   ELF 바이너리를 해석하는 두 가지 관점 = 298
   ELF 헤더 = 299
   프로그램 헤더 테이블 = 301
   섹션 헤더 테이블 = 304
   각종 섹션 종류 = 307
  03. Id를 사용한 링킹 = 315
   Id를 사용한 기본적인 링킹 = 315
   알아 두면 유용한 Id 옵션 = 325
  04. 링커 스크립트 = 335
   링커 스크립트의 이해 = 335
   링커 스크립 기본 문법 = 342
  05. Id를 사용한 고급 링킹 테크닉 = 357
   OS 개발을 위한 링커 스크립트 = 357
   XIP 기법을 사용한 메모리 절약 = 358
   오버레이(overlay) = 361
   필요한 데이터 바이너리 이미지에 포함 = 363
  06. 라리브러리를 만들기 = 365
   정적 라이브러리 만들기 = 365
   공유 라이브러리 만들기 = 369
 6장 gas assembler
  01. gas를 사용해 어셈블하기 = 377 
   gas의 이해 = 378
   as를 사용한 어셈블 시습 = 381
  02. 어셈블리 파일의 작성 = 388
   assembly기본 사용법 = 389
   C 소스에서 컴파일된 에셈블리 파일 분석 = 391
   전처리기 사용 = 396
   gas assembler 필수 지시자 = 397
  03. 인라인 어셈블리의 사용 = 403
 7장 삶을 윤택하게 하는 바이너리 유틸리티
  01. 바이너리 유틸리티 사용하기 = 415
   addr2line 명령으로 특정 주소가 어떤 파일의 어떤 라인인지 알아보기 = 416
   c++filt 명령으로 맹글링되기 전의 C++ 또는 JAVA 심볼명 보기 = 416
   gprof로 프로파일 정보 알아보기 = 418
   nm으로 ELF 포맷의 심볼 테이블 보기 = 420
   objcopy 사용하기 = 422
   objdump 사용하기 = 423
   readelf 명령으로 ELF 파일의 각종 정보 보기 = 426
   size 명령으로 오브젝트 파일의 사이즈 보기 = 427
   strings 명령으로 바이너리 내부 문자열 보기 = 427
   오브젝트 파일의 사이즈 줄이기 = 427
   gcov로 커버리지 정보 알아보기 = 428
4부 디버깅
 8장 gdb 디버거
  01. 단순하지만 강력한 디버거 gdb = 435
   gdb에 대한 소개 = 435
   gdb로 간단한 디버깅 따라하기 = 436
   gdb의 시작과 종료 = 438
   소스 보기 = 440
   브레이크 포인트 = 441
   프로그램 수행 = 446
   와치 포인트 설정 = 449
   변수와 레지스트 값 검사 = 451
   스택의 상태 검사 = 462
   메모리 상태 검사 = 473
   기타 유용한 명령어 = 475
  02. gdb를 이용한 디버깅 테크닉 = 479
   코어 파일을 이용한 디버깅 = 479
   실행 중인 프로세스 디버깅 = 482
   멀티프로세스 프로그램 디버깅 = 484
   멀티스레드 프로그램 디버깅 = 488
   라이브러리 디버깅 = 493
 9장 GUI 디버거 DDD의 사용
  01. DDD란 무엇인가? = 501
  02. DDD 사용한 디버깅 = 501
   ddd 시작과 종료 = 502
   ddd의 각 부분 설명 = 502
   ddd에서 브레이크포인트 설정 = 503
   ddd에서 브레이크포인트 해제 = 506
   프로그램에 걸려 있는 브레이크포인트 확인 = 507
   프로그램 수행 = 507
   와치 포인터 설정 = 509
   변수 값 검사 = 510
   레지스터, 메모리, 스레드, 스택 등의 상태 확인 = 513
   프로세스 attach와 detach = 513
   기타 알아 두면 좋을 사항 = 514
 10장 기타 디버깅 툴
  01. trace 유틸리티를 사용한 프로그램 문제점 분석 = 517
   strace를 사용해 프로세스의 문제 진단 = 517
   ltrace를 사용해 프로세스가 호출하는 공유 라이브러리 함수를 알아내기 = 523
  02. 문제 진단 유틸리티 = 524
   splint로 소스 코드의 문제점 진단 = 524
   메모리 디버거의 사용 = 526
5부 프로젝트 빌드
 11장 make
  01. make의 이해 = 533
   make의 기본 동작 = 534
   기술 파일의 작성 = 538
  02. 매크로의 사용 = 542
   매크로 작성 기본 규칙 = 542
   매크로 사용 시 주의 사항 = 545
   내부적으로 정의되어 있는 매크로의 사용 = 547
  03. 확장자 규칙의 사용 = 551
  04. 더미 타겟의 사용 = 558
  05. 명령 사용 규칙 = 558
  06. 재귀적 make의 사용 = 562
   서브 Mdkefile에 대한 매크로 전달 = 567
  07. 조건부 수행 = 569
  08. 함수의 사용 = 570
   셀 명령 함수 = 571
   문자열 처리 함수 = 572
   파일 이름 관련 함수 = 577
   기타 유용한 함수 = 579
   함수 사용할 때 주의 사항 = 582
  09. 특수 타겟 = 584
  10. make 최종정리 = 585
 12장 autoconf
  01. autoconf란 무엇인가 = 592
  02. 따라 해 보기 = 593
  03. autoconf의 구조와 원리 = 597
  04. configure.ac 파일 작성 규칙 = 601
  05. 사용 가능한 매크로 = 603
   프로그램 결정 매크로 = 603
   라이브러리 체크 매크로 = 610
   헤더 파일 체크 매크로 = 613
  06. 함수 체크 매크로 = 616
   구조체 및 타입 체크 매크로 = 619
   파일 체크 매크로 = 620
   기타 유용한 매크로 620  
  07. 세밀 제어를 위한 configure.ac 작성 = 623
  08. 설정 헤더를 사용하여 소스 파일에 설정 적용 = 627
 13장 automake
  01. automake의 구조와 원리 = 635
  02. 따라 해 보기 = 636
  03. Makefile.am 파일 작성 규칙 = 639
  04. 재귀적 Makefile.am 파일 작성 = 644
6부 버전 관리 
 14장 Subversion, CVS
  01. 버전 관리의 이해 = 653
   버전 관리 정의 = 653
   프로젝트 파일 버전 관리의 필요성 = 654
  02. Subversion을 이용한 버전 관리 = 656
   Subversion 소개 = 657
  03. Subversion 서버 설정 = 659
   저장소 생성 및 초기화 = 659
   저장소 접근 방식 종류 이해 = 660
   ssh를 이용한 서버 설정 = 661
   http를 이용한 서버 설정 = 664
   svnserye를 이용한 서버 설정 = 668
  04. Subversion을 사용해 프로젝트 진행 = 671
   에디트 환경 변수 설정 = 671
   프로젝트 디렉토리 정리 = 671
   import 명령으로 프로wpr트 서버에 등록 = 674
   checkout 명령으로 프로젝트 파일 가져오기 = 676
   commit 명령으로 변경된 내용 저장소에 반영 = 677
   update 명령으로 저장소의 최신 내용 작업 디렉토리에 반영 = 679
   log 명령으로 리비전별 로그 확인 = 681
   diff 명령으로 변경된 내용 비교 = 682
   blame 명령으로 라인 단위의 작성자 확인 = 684
   status명령으로 작업 디렉토리 상태 확인 = 685
   add 명령으로 파일이나 디렉토리를 버전 관리 대상에 추가 = 686
   delete 명령으로 파일이나 디렉토리를 버전 관리 대상에서 제거 = 686
   rename 명령으로 파일명이나 디렉토리명 변경 = 687
   lock/unlock 명령으로 파일 잠금 및 해제 = 687
   revert 명령으로 파일 이전 상태로 되돌리기 = 688
   export 명령으로 버전 정보 제외한 프로젝트 파일만 가져오기 = 689
   copy 명령으로 브랜치하기 = 690
   merge 명령으로 머지하기 = 692
   copy 명령으로 태깅하기 = 694
   cleanup 명령으로 작업 사본 정리하기 = 695
   dump/load 명령으로 백업 및 복구하기 = 695
   충돌에 관한 해결법 = 696
   기타 간단한 팁 = 701
  05. CVS를 이용한 버전 관리 = 704
   CVS소개 = 705
  06. CVS 서버 설정 = 706
   저장소 디렉토리 생성 및 초기화 = 706
   cvs 사용자 생성 및 권한 설정 = 707
   CVS 사용자 등록 = 707
   CVS 서버 실행 = 709
  07. CVS를 사용해 프로젝트 진행 = 710
   CVS 서버에 로그인 = 711
   import 명령으로 CVS 서버에 프로젝트 파일 등록 = 714
   checkout 명령으로 프로젝트 파일 받아오기 = 716
   commit 명령으로 수장한 내용을 저장소 디렉토리에 반영 = 717
   update 명령을 사용해 현재 작업 디렉토리에 최신 소스 반영 = 719
   소스 충돌 해결 = 720
   add와 remove를 이용한 파일과 디렉토리 추가 및 삭제 = 721
   파일 이전 버전으로 돌리기 = 726
   파일 로그 및 특정 부분을 수정한 사람 확인하기 = 728
   파일 버전대별 차이점 확인 = 729
   현재 시점의 소스 태깅하기 = 731
   브랜치하기 = 732
   브랜치한 소스 머지하기 = 733
부록 A. 프로그래밍 유형별 가용 유틸리티 = 735
  01. GUI 프로그래밍 = 737
  QT 디자이너를 사용한 간단한 GUI 애플리케이션 만들기 = 738
  glade를 사용해 간단한 GUI 애플리케이션 만들기 = 746
  02. 네트워크 프로그래밍 = 755
부록 B. vim 명령 정리 = 759
부록 C. gcc 옵션 정리 = 767
부록 D. autoconf 매크로 정리 = 771
찾아보기 = 781

New Arrivals Books in Related Fields

Anson, Steve (2022)
한국. 행정안전부 (2022)
한국. 행정안전부 (2022)
황기태 (2021)
Zumstein, Felix (2022)