2009/05/14 00:10

프레임워크(Framework)
  - 잘 정의된 문제도메인 안에서 성공적으로 어플리케이션을 작성하기 위해 필요한 가치 있는 지식을 내포함
  - 비교적 규모가 크고, 복잡하며, 다루기 어려움
  - 어플리케이션 프로그래머는 프레임워크의 인터페이스를 구현하거나 프레임워크 클래스를 상속하여 사용함
  - 프레임워크는 적절한 시기에 어플리케이션을 호출함(흐름에 대한 제어를 프레임워크가 수행)

라이브러리(Library)
  - 어플리케이션 프로그래머가 적절하다고 생각할 때 호출하여 사용함
    (흐름에 대한 제어는 어플리케이션 코드에서 수행)
  - 라이브러리는 어플리케이션 프로그래머에게 코드작성규칙을 강요하지 않음 
  - 어플리케이션 프로그래머는 코드 작성시 에러 핸들링 정책에 신중을 기해야 함


참조 : http://c2.com/cgi/wiki?WhiteBoxFramework

Posted by kimgisa.net
2007/03/10 18:52

[팁] 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 라이브러리를
 링크시키라는 뜻입니다.

Posted by kimgisa.net