프레임워크(Framework)
- 잘 정의된 문제도메인 안에서 성공적으로 어플리케이션을 작성하기 위해 필요한 가치 있는 지식을 내포함
- 비교적 규모가 크고, 복잡하며, 다루기 어려움
- 어플리케이션 프로그래머는 프레임워크의 인터페이스를 구현하거나 프레임워크 클래스를 상속하여 사용함
- 프레임워크는 적절한 시기에 어플리케이션을 호출함(흐름에 대한 제어를 프레임워크가 수행)
라이브러리(Library)
- 어플리케이션 프로그래머가 적절하다고 생각할 때 호출하여 사용함
(흐름에 대한 제어는 어플리케이션 코드에서 수행)
- 라이브러리는 어플리케이션 프로그래머에게 코드작성규칙을 강요하지 않음
- 어플리케이션 프로그래머는 코드 작성시 에러 핸들링 정책에 신중을 기해야 함
참조 : http://c2.com/cgi/wiki?WhiteBoxFramework
'라이브러리'에 해당되는 글 2건
- 2009/05/14 프레임워크와 라이브러리
- 2007/03/10 [팁] Socket Programming 할때 Solaris의 Gcc컴파일시 에러날 때
[팁] Socket Programming 할때 Solaris의 Gcc컴파일시 에러날 때
문제상황은 다음과 같다. 솔라리스 운영체제에서 소켓통신을 구현한 소스파일을 다음과 같이 컴파일을 했으나 다음과 에러메시지가 출력된다. 리눅스에서는 정상적으로 컴파일되었던 소스이다.
[magudazi@kimgisa.net]$ gcc -o run socketclient.c
Undefined first referenced
symbol in file
socket /var/tmp//cc0qLIxU.o
connect /var/tmp//cc0qLIxU.o
inet_addr /var/tmp//cc0qLIxU.o
ld: fatal: Symbol referencing errors. No output written to run
collect2: ld returned 1 exit status
[magudazi@kimgisa.net]$
해결방법:
[magudazi@kimgisa.net]$ gcc -o run -lsocket -lnsl socketclient.c
[magudazi@kimgisa.net]$ // 성공적으로 컴파일 되었다.
[설명] -lsocket -lnsl 옵션은 컴파일 시 libsocket.so와 libnsl.so 라이브러리를
링크시키라는 뜻입니다.