권장도서
글 수 30
책이름: 초보자를 위한 Linux & Unix C 프로그래밍 저 자: 김종훈, 김종진, 김동균 출판사: 한빛미디어 장 수: 834쪽
초보자를 위한 Linux & Unix C 프로그래밍은 기본적인 C 프로그래밍에 대한 강의 내용과 C함수에 설명에 예제를 충실이 담은 책입니다. 번역서가 아니기 때문에 읽기 편하고 책 이름과 같이 초보자가 보기에는 편한 책이라 생각됩니다.
아래는 책의 목차입니다.
머리말
주요 내용 및 구성
주 독자층Part 1 C 프로그래밍 기초
- 들어서기
- 리눅스와 C 언어
- 리눅스 C 프로그래밍 관련 사이트
- 리눅스에서 C 프로그램 실습하기
- C 프로그램 구조 이해하기
- 기본 프로그램
- 상수를 이용한 프로그램
- 변수를 이용한 프로그램
- 함수를 이용한 프로그램
- 연산자와 제어문
- 연산자
- 제어문
- 배열과 포인터
- 배열이란
- 배열의 종류
- 포인터
- 함수
- 함수란
- 한수간 데이터 전달 기법
- 기억 클래스
- 재귀호출
- 구조제와 공용체
- 구조체
- 공용체
- 전처리기
- 전처리기란
- 매크로 정의하기
- 파일 삽입하기
- 조건부 컴파일
Part 2 리눅스 C 라이브러리 함수
- 문자와 문자열 처리 함수
- 문자 판별 함수
- 문자 변환 함수
- 문자열 연결 함수
- 문자열 비교 함수
- 문자열 복사 함수
- 문자열 길이 계산 함수
- 문자열 검색 함수
- 문자열을 단어로 자르는 함수
- 데이터 변환 함수
- 기본 변환 함수
- 고급 변환 함수
- 메모리 관리 함수
- 동적 메모리 할당과 해제 함수
- 메모리 크기 변경 함수
- 메모리 초기화 함수
- 메모리 영역 복사 함수
- 메모리 영역 검색과 비교 함수
- 입출력 함수
- 기본 입출력 함수
- 파일 입출력 함수
- 기타 입출력 함수
- 수학 함수
- 절대값 함수
- 나머지 함수
- 난수 함수
- 거듭제곱과 제곱근 함수
- 기타 수학 함수
- 탐색과 정렬 함수
- 선형 탐색 함수
- 이진 탐색 함수
- 이진 트리 관리
- 해시 테이블 관리
- 퀵 정렬 함수
- 날짜와 시간 함수
- 시간 표시 함수
- 형식 변환 함수
- 기타 시간 관련 함수
Part 3 리눅스 C 프로그래밍 관련 툴
- vi로 편집하기
- vi 실행하기
- vi 세가지 모드
- 커서 이동하기
- 편집하기
- 문자열 검색하기
- 문자열 치환하기
- 파일 다루기와 종료하기
- gcc로 컴파일하기
- gcc 동작 과정
- gcc 실행하기
- gcc 옵션
- make로 컴파일 자동화하기
- make란
- make 파일
- 매크로
- 규칙
- make 옵션
- gdb로 디버깅하기
- gdb 사용하기
- gdb 명령어
- 정지점 이용하기
- 단계별로 실행하기
Part 4 리눅스가 동작하는 프로그래밍
- 오류 처리하기
- 라이브러리 함수의 오류 번호 얻기
- 오류 메시지 출력하고 종료하기
- 무조건 종료하기
- 오류 번호로 오류 원인 얻기
- 오류 메시지 출력하기
- 리눅스 프로그램 환경
- 명령라인 인수 사용하기
- 라인 번호가 출력되는 프로그램 구현하기
- 환경변수
- 사용자와 그룹 정보 알아내기
- 시스템에서 제공하는 파일 입출력
- 파일마다 번호 부여
- 파일 열기와 닫기
- 파일 읽기와 쓰기
- 파일 생성하기
- 파일에 임의로 접근하기
- 파일 크기 바꾸기
- 여러 개이 파일 식별자 각기
- 파일 제어하기
- 파일과 디렉토리 다루기
- 파일 정보 얻어오기
- 디렉토리 관리하기
- 다른 이름 부여하기
- 삭제하기와 이름 변경하기
- 정보 변경하기
- 디스크에 쓰기
- 프로세스 제어하기
- 프로세스 생성하기
- 프로세스 종료하기
- 프로세스 종료를 기다림
- 프로세스 대체하기
- 셀 구현하기
- 새로운 프로세스 실행하기
- 시그널
- 시그널이란
- 시그널 처리하기
- 시그널 보내기
- 시그널 블록
Part 5 통신과 네트워크 프로그래밍
- 파일과 파이프를 이용한 통신
- 레코드 잠금
- 파이프를 이용한 통신
- FIFO를 이용한 통신
- 메시지 큐, 공유 메모리, 세마포어를 이용한 통신
- 메시지 큐를 이용한 통신
- 공유 메모리를 이용한 통신
- 세마포어를 이용한 통신
- 기본 네트워크 프로그래밍
- 네트워크 프로그래밍이란
- TCP를 이용해 신뢰성 있게 통신하기
- UDP를 이용해 빠르게 통신하기
- 고급 네트워크 프로그래밍
- 다수의 클라이언트와의 네트워킹
- 일대일 채팅 프로그램
부록 A 리눅스 명령어
찾아보기