programmming tips2011. 7. 25. 22:13
오늘은 unix 고급 프로그래밍 에서 컴파일 하는법을 배우겠습니다
일단 컴파일 하는 법을 배우겠습니다
일단 www.apuebook.com 에서 소스를 다운받습니다

자 이제 정리를 하자면


1. tar 로 묶인 파일을 tar 명령으로 압축을 풉니다
--> tar xvfz  src.tar.gz
이렇게 실행하면 압축이 풀리고  apue.2e 폴더가 생기게 됩니다

2. cd apue.2e
apue.2e 폴더로 들어갑니다

3.  Make.defines.linux 파일을 열어 WKDIR 경로를 apue.2e 디렉토리의 풀패스의 경로로 변경합니다
즉 apue.2e 폴더에서 pwd 명령을 수행했을때 나오는 절대경로를 쓰라는 말입니다

4. make
만약 중간에 ARG_MAX 가 정의 되지 않아서 오류가 발생하는경우는
apue.2e/threadctl/getenv1.c 와 apue.2e/threadctl/getenv3.c/getenv3.c 파일을열어서
#include<limits.h> 를 #include<linux/limits.h> 로 변경한후
다시 make  하면 잘 될겁니다

5. make 가 무사히 끝나면 
./lib 에 libapue.a 파일이 생성됩니다
생성된 ./lib/libapue.a 와  ./include/apue.h 를 이용해서 컴파일 하시면 됩니다


---------------------------------------------------------------------------------------

자 그럼 진짜로 되는지 소스파일을 컴파일 해봅시다

저는 책의 맨처음 예제인 myls.c 파일을 컴파일 해보겠습니다


이 파일인데요 말그대로 ls 역할을 하는 코드를 구현하는 겁니다


잘 됩니다

여기서 중요한점은  gcc myls.c -o myls -I(이부분은 대문자 아이)./ -L. -l(이부분은 소문자 엘) apue 이라는 점입니다

gcc 옵션을 보면 뒤에가 뭘 의미하는지 잘 아실거라고 봅니다
 

 

수고하셨습니다
 
Posted by babuzzzy