2012. 7. 13. 16:39

- 정적 library

Compile
Gcc –c file_name
라이브러리로 만들고자 하는 파일을 실행이 불가능한 오브젝트 파일로 만든다.
정적 라이브러리 생성
Ar crv lib&lib_name.a file_name.o
라이브러리로 데이터를 추가하기 위해 ar을 사용한다.
하나의 큰 파일 내에 포함되는 개별적인 자료들의 모음이나 집합체를 생성한다.
라이브러리 목차 생성
Ranlib lib&lib_name.a
라이브러리를 성공적으로 사용하기 위해 라이브러리 목차를 생성할 필요가 있다.
GNU 소프트웨어 개발 도구를 사용할 때는 이 과정을 생략하는 것이 가능하다.
검사
Gcc –o runable_name file_name.c L. llib_name
라이브러리를 이용하기 위해 라이브러리의 위치와 이름을 명명하여 야 한다.
-L : 라이브러리의 위치 표기
-l  : 사용하려는 라이브러리 명 표기


- 동적 library

Rename
만들고자 하는 파일의 이름을 lib&file_name.c로 변경
Compile
Gcc –fPIC –Wall –g –c lib&file_name.c        
Library 생성
Gcc –g –shared –Wl , -soname,lib&file_name.so.0 –o lib&file_name.so.0.0 lib&file_name.o –lc
링크 생성
Ln –sf lib&file_name.so.0.0 lib&file_name.so.0
실제 사용할 링크 생성
Ln –sf lib&file_name.so.0 lib&file_name.so
검사
Gcc –o runable_filename runable_filename.c –L. –lfile_name
동작 안함
라이브러리 경로 추가
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)
Export LD_LIBRARY_PATH


- 정규 / 비 정규 모드

정규 모드
엔터키에 의해서 동작
비정규 모드
입력 문자에 대해 즉각적인 처리


- Termios 구조체

POSIX에 의해 지정된 표준 인터페이스
Termios.h에 정의
모드
입력 / 출력 / 제어/ 지역 / 특별한 제어 문자
Termios 구조
Struct termios {
Tcflag_t         c_iflag;
Tcflag_t         c_oflag;
Tcflag_t         c_cflag;
Tcflag_t         c_lflag;
Cc_t        c_cc[NCCS];
};


- Termios 구조체

Int tcgetattr(int fd, struct termios *termios_p
Termios_p가 가리키는 구조체에 터미널 인터페이스 변수의 현재 값을 저장
Int tcsetattr(int fd, int action, const struct termios *termios_p);
터미널 인터페이스의 환경 설정
Action Field의 종류
TCSANOW : 값을 즉시 변경
TCSADRAIN : 현재 출력이 완료될 때 값을 변경
TCSAFLUSH : 현재 출력이 완료될 때 값을 변경하지만 현재 유효하거나 read 호출에서 아직까지 반환되지 않은 입력을 버린다.

Posted by 몰라욧