Proven C Book←↑

상세 차례

장 아래 절까지 펼친 차례다. 찾는 자리를 바로 짚을 때 쓴다.

제1부 — 바탕: 기계와 기억

제2부 — 기계의 진짜 모습: 표현과 실행

제3부 — 첫 프로그램

제4부 — 최소한의 도구 상자

제5부 — 선언: 이름을 만드는 법

제6부 — 값과 제어

제7부 — 기억

제8부 — 자료의 모양

제9부 — 깊은 구석들

제10부 — 구성과 연결: 파일에서 선언까지

제11부 — C 로 흉내 내는 객체 지향 프로그래밍

제12부 — 표준 라이브러리 정독

제13부 — proven — 새로운 안정적인 기반

제14부 — 닫으며

부록과 찾아보기

<string.h> — 문자열과 기억기억 블록 다루기 (mem*)복사와 이어 붙이기 (strcpy·strcat 계열)견주기와 길이찾기와 쪼개기오류 문자열<ctype.h> — 한 바이트의 갈래<stdckdint.h> — 넘침을 묻는 산술<assert.h> — 계약을 실행 중에 확인한다<errno.h> — 실패의 까닭을 남기는 자리<setjmp.h> — 되돌아갈 자리를 적어 둔다<stdarg.h> — 개수를 모르는 인자를 훑는다<stddef.h> — 이름 없는 것들에 이름을 준다<stdbool.h>·<stdalign.h> — 비어 버린 두 헤더<iso646.h>·<stdnoreturn.h> — 흉터 하나와 물러난 이름 하나<limits.h> — 정수가 담을 수 있는 끝<float.h> — 실수가 담을 수 있는 끝<stdint.h> — 폭을 못박은 정수<inttypes.h> — 그 정수를 찍고 읽는 법<stdbit.h> — 비트를 세는 표준 방법<locale.h> — 「어디의 관습인가」를 바꾼다<wctype.h> — 와이드 문자의 갈래<uchar.h> — 유니코드 폭을 못박은 문자<signal.h> — 밖에서 들어오는 끼어듦<fenv.h> — 부동소수점 환경을 만진다<tgmath.h> — 타입에 맞는 것을 골라 준다<complex.h> — 복소수<threads.h> — 표준이 정한 스레드<stdatomic.h> — 쪼개지지 않는 연산<wchar.h> — 와이드 문자의 모든 것<time.h> — 시각과 시간<stdlib.h> — 잡동사니 서랍<stdio.h> — 스트림 입출력<math.h> — 수학 함수
이 부록을 여는 말전원이 들어오면 — OS 없이 도는 기계OS가 해 주던 일의 목록「초기화하지 않은 전역은 0」은 공짜가 아니다리셋 벡터(reset vector) — 기계가 처음 읽는 자리여기서 남기는 것인터럽트 — 흐름을 가로채는 장치인터럽트·예외·트랩 — 세 낱말의 뜻부터 구별한다이미 써 본 적이 있다 — 하드웨어 예외가 C 함수까지 오는 길밀린 인터럽트는 개수로 쌓이지 않는다처리기를 C 로 쓸 수 있는가 — 칩마다 답이 다르다처리기 안에서 할 수 있는 일이 왜 그렇게 적은가여기서 남기는 것장치 레지스터를 만지는 법 — 기억 사상 입출력과 volatile장치가 주소를 차지한다이름을 붙이자 — 기억 사상 입출력(memory-mapped I/O)반대편 — 명령으로 장치를 구별하는 포트 입출력(port-mapped I/O)그래서 volatile 이 있다프로그램 모르게 기억을 바꾸는 것이 인터럽트만은 아니다 — DMAvolatile 이 해 주지 않는 것인터럽트를 잠깐 끄는 것 — 가장 오래된 자물쇠비트 필드로 하드웨어 레지스터를 그리지 말 것여기서 남기는 것제약 속의 C, 그리고 되가져가기타이머 인터럽트 하나를 끝까지할당자 없이 사는 법폭을 이름에 적는다소수를 정수로 다루기 — 고정소수점스택은 얼마나 깊어지는가시간과 전력이 코드에 보인다되가져가기 — OS 위에서 다시 읽기
왜 재는가 — 개념만 알면 남는 것은 틀린 직관이다재는 도구를 먼저 잰다① 기계의 숫자를 예제가 스스로 읽는다② 해상도와 ③ 호출 비용은 다르다④ 첫 번째 함정 — 최적화가 재려던 것을 지운다⑤ 두 번째 함정 — 첫 회는 느리다⑥ 세 번째 함정 — 평균은 한 번의 방해에 끌려간다이 부록의 여섯 규율기억의 사다리를 재다먼저 원리 — 왜 사다리가 생겼는가그래서 어떻게 재야 하는가잰 것 — 계단이 보인다줄과 걸음 — 캐시가 실어 오는 단위먼저 원리 — 왜 낱개가 아니라 줄인가재는 방법 — 걸음 폭을 바꾸되 횟수는 고정잰 것 — 줄이 시간에 나타난다같은 자료, 다른 배치 — AoS 와 SoA주소 번역에도 비용이 있다 — TLB 와 쪽먼저 원리 — 번역표와 그 캐시재는 방법 — 자료는 조금, 쪽은 많이잰 것 셋갈림길의 비용 — 분기 예측먼저 원리 — 왜 미리 짐작해야 하는가재기 전에 — 분기가 아직 남아 있는가잰 것얼마나 규칙적이어야 맞히는가코어 사이의 비용 — 거짓 공유와 원자 연산먼저 원리 — 줄은 한 번에 한 코어의 것거짓 공유 — 남의 변수 때문에 내가 느려진다잰 것진짜로 함께 쓰는 값 — 원자 연산과 자물쇠수 계산의 비용 — 부동소수점먼저, 이 절의 측정이 한 번 실패했다잰 것 ① — 비정규수는 72배 느렸다잰 것 ② — float 가 double 보다 빠른가잰 것 ③ — 연산마다 비용이 다르다잰 것을 한자리에ARM 실기에서 다시 재 보면이 수를 어떻게 쓰나여기서 남기는 것