Linux 시스템 프로그래밍: 실습 소개 ‘Demo’ 프로그램
Source: Hacker News
소개
이 저장소에는 제 책 System Programming in Linux: A Hands-On Introduction에 실린 프로그램들의 소스 코드가 포함되어 있습니다. 이 책은 No Starch Press에서 출판되었으며 Amazon에서 확인할 수 있습니다. 웹페이지에서도 자세히 볼 수 있습니다.
이 저장소의 코드는 책에 실린 내용과 다를 수 있습니다. 책 첫 번째 인쇄본에 포함된 코드를 보려면 firstprinting 브랜치를 checkout하십시오.
프로그램 빌드
프로그램 빌드 방법은 How To Use This Repository 섹션을 참고하십시오.
책 최신 인쇄본 이후 코드에 가해진 변경 사항은 CHANGES 파일을 확인하십시오.
라이선스
이 저장소에 제공된 모든 완전한 프로그램은 GNU General Public License (버전 3)의 적용을 받으며, 해당 사본은 이 디렉터리의 COPYING.gplv3 파일에 포함되어 있습니다.
common/ 및 include/ 디렉터리의 모든 라이브러리 함수 소스 코드는 GNU Lesser General Public License (버전 3)의 적용을 받으며, 사본은 이 디렉터리의 COPYING.lgplv3 파일에 포함되어 있습니다.
하위 디렉터리 구성
하위 디렉터리는 ChapterNN 형태의 챕터 이름이거나 include, lib, makefiles 등과 같은 이름을 가지고 있습니다.
ChapterNN 디렉터리에는 해당 챕터에서 소개된 코드가 들어 있습니다.
그 외의 디렉터리는 이름만 보고도 의미를 알 수 있습니다.
제안, 수정, 버그 발견 및 기타 개선 사항을 언제든 환영합니다. 현재 CONTRIBUTING 파일은 없으며, 절차가 비교적 간단합니다. 개선이 필요하다고 생각되는 부분이 있으면 가능한 한 자세히 설명한 이슈를 생성해 주세요. 설명이 명확하고 재현 방법이 충분히 포함되어 있는지 확인해 주시기 바랍니다.
이 저장소 사용 방법
각 챕터는 독립적인 프로그램 모음입니다. 챕터에 README 파일이 있다면 해당 챕터에서 작업을 시작하기 전에 반드시 읽어 보세요. 모든 프로그램 코드는 common 디렉터리의 파일에 의존합니다.
어떤 챕터의 프로그램이든 빌드하려면 다음과 같이 환경을 설정하십시오:
# After cloning the repository
cd common
make
make install
make install은 make 로 생성된 헤더 파일을 이 저장소의 include 디렉터리로, 정적 라이브러리 libutils.a 를 lib 디렉터리로 복사합니다.
그 다음, 빌드하고 싶은 챕터 디렉터리로 이동하여 make 를 실행하면 됩니다. 예:
cd ../chapter05
make