목차
저자 서문 = ⅳ
감사의 글 = ⅴ
저자 소개 = ⅵ
역자 서문 = ⅶ
들어가며 = xiv
1장 GCC 빌드 = 1
GCC를 소스에서부터 빌드해야 하는 이유 = 1
빌드 과정 미리 보기 = 2
설치 시스템 준비 = 4
소스코드 다운로드 = 6
소스코드 설치 = 8
소스코드 구성 = 9
추가적인 구성 옵션 = 12
GCC 컴파일 = 17
빌드 테스트 = 20
GCC 설치 = 24
GCC 3의 새로운 기능 = 25
일반적인 최적화의 개선 = 25
새로운 언어와 언어별 개선점 = 27
새로운 타겟과 타겟에 관련된 개선점 = 30
그 밖의 중요 개선점 = 31
문서에 관련된 개선점 = 32
GCC 3.0.1에서 추가된 변경 사항 = 32
GCC 3.0.2에서 추가된 변경 사항 = 33
GCC 3.0.3에서 추가된 변경 사항 = 33
GCC 3.0.4에서 추가된 변경 사항 = 34
GCC 3.1에서 추가된 변경 사항 = 34
GCC 3.1.1에서 추가된 변경 사항 = 36
GCC 3.2에서 추가된 변경 사항 = 36
GCC 3.3에서 추가된 변경 사항 = 37
주의해야 할 점 = 38
2장 도스와 윈도우 환경에서 GCC 설치하기 = 39
시그윈 설치 = 39
시그윈 받아서 설치하기 = 39
도스와 윈도우 환경에서 시그윈 사용하기 = 45
DJGPP 설치 = 47
DJGPP 다운로드 받아 설치하기 = 49
DJGPP 설정 = 54
도스와 윈도우 환경에서 DJGPP 사용하기 = 57
윈도우 응용프로그램 만들기 = 57
3장 기본적인 GCC 사용법 = 59
일반적인 옵션 = 59
GCC의 출력 조절 = 63
C 변종 컴파일 = 70
C++와 GCC = 75
전처리기 조절 = 77
디렉토리 검색 경로 수정 = 79
링커 조작 = 83
어셈블러에 옵션 전달 = 88
경고 메시지 켜고 끄기 = 88
디버깅 정보 추가 = 96
4장 GCC 고급 사용법 = 101
환경 변수를 사용한 GCC 커스터마이즈 = 101
스펙 파일과 스펙 문자열을 이용한 GCC 커스터마이즈 = 104
C와 확장기능 = 108
지역에서 선언된 레이블 = 109
레이블을 값처럼 사용 = 111
중첩된 함수 = 112
함수 호출 생성 = 113
typeof로 형 알아내기 = 114
길이가 0인 배열 = 115
길이가 가변인 배열 = 117
가변 인자 매크로 = 119
Lvalue가 아닌 배열에 대해 첨자 지정 = 119
void와 함수 포인터에 대한 산술 연산 = 120
상수가 아닌 초기화 = 120
지명된 초기화 = 120
case 범위 = 123
혼합된 선언과 코드 = 123
함수 속성 선언 = 123
변수 속성 지정 = 127
인라인 함수 = 130
함수 이름을 문자열로 = 131
GCC에서 쓸 수 있는 #pragma = 133
5장 GCC를 이용한 코드 최적화 = 135
컴파일러의 최적화 이론에 대한 이야기 = 135
중복 계산 없애기 = 137
프로세서에 관계없는 일반적인 최적화 = 138
프로세서와 관련된 최적화 = 146
6장 GCC를 이용한 코드 분석 = 147
GCC와 gcov를 이용한 커버리지 테스트 = 149
커버리지 테스트 개요 = 149
커버리지 테스트 분석을 위한 코드 컴파일 = 153
gcov 커버리지 테스트 도구 사용 = 154
gcov 실습 = 156
커버리지 분석 시 사용되는 파일과 생성되는 파일 = 164
GCC와 gprof를 이용한 코드 프로파일링 = 164
gprof를 다운받아 컴파일하기 = 166
코드 프로파일 분석을 위한 코드 컴파일 = 167
gprof 코드 프로파일러 사용 = 169
gprof 사용 예 = 174
사용자 응용프로그램을 위한 주석 달린 소스코드 출력 = 179
자신만의 프로파일링 코드 추가 = 182
7장 autoconf와 automake = 187
유닉스 소프트웨어 설정하기, autoconf, automake = 188
autoconf와 automake 설치와 설정 = 192
autoconf와 automake를 업그레이드할지 아니면 대체할지 결정하기 = 192
autoconf 빌드와 설치 = 193
automake 받아 설치하기 = 198
autoconf, automake를 이용한 소프트웨어 설정 = 201
configure. ac 파일 만들기 = 202
automake에서 필요한 Makefile.am 등 파일 만들기 = 208
autoconf, automake 실행 = 212
configure 스크립트 실행 = 219
8장 Libtool = 221
라이브러리 소개 = 221
정적 라이브러리 = 222
공유 라이브러리 = 223
동적 적재 라이브러리 = 226
Libtool이란? = 227
Libtool 받아 사용하기 = 228
Libtool 설치하기 = 229
Libtool에 의해 설치되는 파일들 = 231
Libtool 사용하기 = 232
명령 행에서 Libtool 사용하기 = 233
autoconf, automake와 함께 Libtool 사용하기 = 240
Libtool 문제 해결 = 243
Libtool에 대한 자세한 정보 = 244
9장 GCC 문제 해결 방법 = 245
알려진 버그와 잘못된 기능 해결하기 = 245
일반적인 문제 해결 방법 = 247
GCC를 실행하거나 GCC로 컴파일된 프로그램을 실행할 때 발생하는 문제 = 247
설치한 후에 GCC 옮기기 = 251
GNU 프로그램과 다른 툴체인을 함께 사용할 때의 일반적인 문제점 = 252
GCC 프로그램과 다른 도구를 함께 사용할 때 발생하는 특정 호환성 문제 = 254
최적화 과정에서 발생하는 문제 = 257
헤더 파일과 라이브러리를 사용할 때 발생하는 문제 = 257
이해하기 힘든 경고, 오류 메시지 = 259
GNU C와 K&R C 사이에 호환되지 않는 내용 = 260
__STDC__ 선언의 무분별한 사용 = 262
빌드, 설치 문제 해결 방법 = 263
10장 GCC 온라인 도움말 = 265
GNU Info란? = 265
시작하기 = 268
GNU Info 초보자 가이드 = 269
GNU Info 화면 분석 = 270
GNU Info 안에서 돌아다니기 = 272
GNU Info의 검색 기능 = 275
상호 참조 따라가기 = 276
GNU Info 노드 출력 = 278
GNU Info 실행 = 279
멍청한 Info 사용법 = 280
명령 반복 실행 = 281
여러 개의 윈도우 = 281
도움말 = 282
11장 GCC 명령 행 옵션 = 283
GCC 옵션 목록 = 284
GCC 어셈블러 옵션 목록 = 335
GCC 링커 옵션 목록 = 335
GCC 전처리기 옵션 목록 = 337
GCC 옵션 레퍼런스 = 344
12장 GCC에 대한 추가 정보 = 347
GCC에 관한 유즈넷 자원 = 347
GCC 메일링 리스트 = 352
gcc.gnu.org에 있는 GCC 메일링 리스트 = 353
그 밖의 메일링 리스트 = 358
인터넷에 있는 GCC 정보 = 359
GCC 참고문헌과 참고자료 = 360
부록 A Glibc 빌드와 설치 = 363
Glibc에는 무엇이 들어있을까? = 363
Glibc를 대체할 수 있는 것 = 365
uClibc: 조그만 C 라이브러리 = 366
Newlib = 366
Glibc를 소스에서부터 빌드해야 하는 이유 = 367
Glibc를 업그레이드하는 경우에 잠재적인 문제들 = 369
시스템이 어떤 Glibc를 사용하는지 찾아내기 = 370
Glibc 버전에 대한 보다 자세한 내용 얻기 = 371
Glibc 추가 기능 = 373
빌드 과정 미리 보기 = 374
Glibc 빌드에 유용한 도구 = 376
소스코드 다운로드 받아 설치하기 = 379
소스코드 다운로드 = 379
소스코드 묶음 설치하기 = 382
Glibc 소스코드에 추가 기능 통합 = 384
소스코드 설정 = 385
Glic 컴파일 = 388
빌드 테스트 = 389
Glibc 설치 = 390
Glibc를 시스템의 주된 C 라이브러리로 설치하기 = 391
Glibc 설치 문제 해결 = 393
Glibc를 시스템의 보조 C 라이브러리로 설치하기 = 399
Glibc에 대한 추가 정보 = 400
Glibc 문서 = 400
그밖의 Glibc 웹 사이트 = 401
Glibc 메일링 리스트 = 401
Glibc 문제 보고 = 402
부록 B 머신과 프로세서에 관련된 GCC 옵션 = 403
Alpha 옵션 = 405
Alpah/VMS 옵션 = 411
AMD x86-64 옵션 = 411
AMD29K 옵션 = 413
ARC 옵션 = 415
ARM 옵션 = 416
AVR 옵션 = 423
Clipper 옵션 = 424
Convex 옵션 = 424
CRIS 옵션 = 425
D30V 옵션 = 428
H8/300 옵션 = 429
HP/PA (PA/RISC) 옵션 = 430
i386과 AMD x86-64 옵션 = 432
IA-64 옵션 = 439
인텔 960 옵션 = 441
M32R 옵션 = 443
M680x0 옵션 = 445
M68hc1x 옵션 = 448
M88K 옵션 = 449
MCore 옵션 = 452
MIPS 옵션 = 454
MMIX 옵션 = 461
MN10200 옵션 = 463
MN10300 옵션 = 463
NS32K 옵션 = 464
PDP-11 옵션 = 466
PowerPC (PPC) 옵션 = 467
RS/6000 옵션 = 479
RT 옵션 = 479
S/390과 zSeries 옵션 = 480
SH 옵션 = 482
SPARC 옵션 = 483
SPARClet 프로세서 옵션 = 487
64비트 SPARC 옵션 = 488
System V 옵션 = 489
TMS320C3x/C4x 옵션 = 489
V850 옵션 = 492
VAX 옵션 = 494
Xstormy16 옵션 = 494
Xtensa 옵션 = 494
찾아보기 = 499