GNU 소프트웨어로 프로그래밍하기
GNU 소프트웨어 개발환경에 대한 사용자 가이드이다. 한 가지 주의해야 할 것은 이 책은 프로그래밍 언어의 문법이나 알고리즘은 거론하고 있지 않다는 점이다. 그보다는 리눅스/유닉스 환경에서 프로그램을 개발할 때 사용하는 각종 도구와 그 사용법 그리고 각 도구들을 조합해서 사용하는 방법을 집중 소개한다. 리눅스 환경에서 사용할 수 있는 각종 개발도구와 개발과정을 한결 쉽게 이해할 수 있도록 도움을 주는 책이다.
- 저자 : 마이크 루키데스(Mike Loukides) , 앤디 오람(Andy Oram)
- 번역 : 이기동
- 출간 : 2000-07-01
이 책은 다양한 GNU 소프트웨어 개발 도구들에 관한 사용자 설명서입니다. 즉, Manual적인 성격이 강합니다. 이 책에서는 특히 유닉스/리눅스 계열의 운영체제에서 프로그램을 개발할 경우 사용될 수 있는 다양한 도구를 소개하고 도구의 사용법을 상세하게 설명하고 있습니다.
O"Reilly는 다양한 방법으로 GNU를 후원하는 출판사 답게 처음 유닉스/리눅스 플랫폼에서 개발하는 독자를 위해 당당히~!! 이 책을 작성한 것 같습니다.
이 책은 총 10장으로 구성되어 있습니다.
1장에서는 GNU 개발환경에 대한 포괄적인 소개와 자유소프트웨어 문화에 관해 언급하고 있습니다. (역시 O"Reilly 다운 내용입니다.)
2장에서는 유닉스 운영체제를 소개하고, 유닉스에서 가장 처음 접하게 되는 로그인하기 같은 아주아주 기초적인 부분을 시작으로 설명하고 있습니다. 유닉스의 명령, 파일시스템, 온라인 문서, 표준 입출력, 작업 제어, 쉘 프로그램, 쉘 커스트마이즈 등을 미리 설명함으로써 앞으로 다루게 될 도구들에 대한 기본 지식을 습득할 수 있도록 하고 있습니다.
3장에서는 GNU의 대표적인 텍스트 편집기인 Emacs에 대해 설명하고 있습니다. (이 부분은 제가 Emacs와 별로 친해지고 싶은 생각이 없어서 건너 뛰었습니다. -_-; Emacs를 쓰는 사람은 변태라는 우스께 소리도 -0-;)
4장은 GNU의 대표적인 컴파일러인 gcc에 관한 내용으 다루고 있습니다. 컴파일 하는 방법에서 부터 크로스 컴파일까지 전반적인 gcc에 대해 설명하고 있습니다. 평소 접해보기 힘든 어셈블러나 링커도 다루고 있고, 라이브러리를 만드는 방법도 설명하고 있습니다.
5장에서는 GNU에서 제공하는 다양한 라이브러리에 대해 다루고 있습니다. 또한 그를 활용한 다양한 프로그래밍 기법도 소개하고 있습니다.
6장에서는 gdb를 이용한 디버깅에 관해 다루고 있습니다. gdb를 이용하는 방법과 Emacs에서 사용하는 방법 등을 다루고 있고 퀵레퍼런스를 두어 필요할 때 마다 펴 볼 수 있도록 하였습니다.
7장에서는 make를 이용한 컴파일 자동화를 다루고 있습니다. 큰 프로젝트의 경우 많은 파일을 컴파일하여야 하는 경우 make를 통해 쉽게 컴파일 할 수 있도록 설명하고 있고, 에러메시지를 정리하여 초보자가 쉽게 다룰 수 있도록 하고 있습니다.
8장에서는 소스버전 관리기인 RCS에 대해 설명하고 있습니다.
9장에서는 프로그램 시간 측정과 프로파일링 10장에서는 부록으로 GNU 소프트웨어 자체를 빌드하는 방법을 다루고 있습니다.
이와 같이 이 책은 전반적으로 GNU 소프트웨어를 이용하여 프로그래밍을 할 수 있도록 필요한 소프트웨어들을 사용하는 방법을 다루고 있습니다.