본문 바로가기

UNIX_LINUX_C_C++

(114)
[펌] 공유 메모리(shared memory) 의 사용 공유 메모리의 사용공유메모리(shared memory) 보통 프로세스에서 사용되는 메모리영역은 해당 프로세스만이 사용할수 있다. 하지만 때때로 여러개의 프로세스가 특정 메모리영역을 사용했으면 하는때가 있을것이다. System V IPC 설비중의 하나인 "공유메모리"를 통해서 이러한일을 할수있다. 개요모든 프로세스는 자신의 업무를 수행하기 위해서 필요한 자료를 저장하기 위한 메모리 공간을 가지게 된다. 이러한 메모리공간에는 CPU에 의해 수행되는 명령어들, 프로그램 시작시 정의되고 초기화된 데이타, 프로그램 시작시 정의되었지만 초기화 되지 않은 데이타, 함수호출에 필요한 정보, 동적할당이 이루어지는 데이타등 이 들어가게 된다. 프로세스는 시작시 혹은 실행중에 이러한 데이타를 저장하고 사용하기 위한 메모리 ..
[펌] 아파치 http 서버의 확장모듈을 컴파일하고 설치하는 도구 apax (APache eXtension) 1.아파치 http 서버의 확장모듈을 컴파일하고 설치하는 도구 2.아파치에 모듈을 추가하고자 할때 아파치 소스파일을 "./configure" 을 이용하여 재컴파일 하는 방법도 있지만.. 아파치 소스코드가 존재하지 않을때 모듈을 간단이 DSO화일로 만들때 사용하는 도구이다. -> DSO 화일이란? Dynamic Shared Object : LoadModule 을 사용해서 동적으로 동작하는 모듈 화일. * DSO가 아닌 모듈은 아파치 검파일시 --add_module, --enable-module, --disable-module 이용하여 정적으로 동작하는 모듈이다. (config.status에 --enable-module, --disable-module 리스트 있다...
[펌] 제3장 클라이언트-서버 토크 프로그램 소강좌제목 : 컴퓨터 네트웍 프로그래밍 이전 강좌: 제2장 UNIX BSD 소켓 시스템 콜 다음강좌: 제4장 UNIX 소켓 응용프로그래밍제3장 클라이언트-서버 토크 프로그램3장에서는 소켓을 이용하여 클라이언트와 서버의 통신 프로그래밍을 작성하는 것을 체계적으로 설명하기 위하여 talk 프로그램을 소개하겠다. 토크 클라이언트와 토크 서버는 서로 연결된 후 각 사용자가 키보드에서 입력한 메세지를 상대방에게 전송하고 상대방이 전송한 메시지를 화면에 출력하는 기능을 수행한다. 3.1절에서는 토크 클라이언트 프로그램 talk_client.c를, 3.2절에서는 토크 서버 프로그램 talk_ server.c를 소개하며 클라이언트와 서버의 소켓 생성 및 연결과정은 2.3절과 2.4절에서 설명한 내용과 동일하므로 여기서..
[펌] 제4장 UNIX 소켓 응용 프로그래밍 소강좌제목 : 컴퓨터 네트웍 프로그래밍 이전 강좌: 제3장 클라이언트 서버 토크 프로그램 다음강좌: 제5장 Winsock 프로그래밍제4장 UNIX 소켓 응용 프로그래밍4장에서는 소켓 응용 프로그램 작성법을 소개한다. 먼저 소켓을 비동기 모드로 사용하는 기술을 배우고 이의 응용 프로그램으로 채팅 프로그램을 구현하는 것을 설명한다. 다음에는 하나의 프로그램에서 두가지 서비스를 동시에 제공하는 멀티서버 구현기술을 소개하고, 소켓관련 시스템 콜들을 처리하는데 걸리는 시간을 측정하는 프로그램을 소개한다. 끝으로 네트웍을 통하여 데이타베이스를 엑세스하는 응용 프로그램을 작성한다. 4.1 소켓의 동작모드▶ 소켓의 동작모드에는 blocking, non-blocking 그리고 비동기(asynchronous) 모드 세 가..
[펌] 제1장 네트웍 프로그래밍의 이해 소강좌제목 : 컴퓨터 네트웍 프로그래밍 다음강좌: 제2장 UNIX BSD 소켓 시스템 콜제1장 네트웍 프로그래밍의 이해1장에서는 네트웍 프로그래밍의 일반적인 특징을 소개한다. 먼저 1.1절에서는 네트웍 프로그래밍의 계층별 종류와 각각의 특징을 소개한다. 1.2절에서 소켓 (socket) 인터페이스를 지원하는 대표적인 통신 프로토콜인 TCP/IP(Transmission Control Protocol/Internet Protocol)에 대하여 설명하고 1.3절에서는 클라이언트-서버 통신 모델에 대하여 설명한다. 1.1 네트웍 프로그래밍의 분류▶ 네트웍 프로그램 작성에는 여러 가지의 레벨이 있을 수 있는데, 통신 장비(device)를 직접 구동하는 디바이스 드라이버형 프로그램, TCP와 같은 트랜스포트 계층의..
[펌] 제2장 UNIX BSD 소켓 시스템 콜 소강좌제목 : 컴퓨터 네트웍 프로그래밍이전강좌: 제1장 네트웍 프로그래밍의 이해 다음강좌: 제3장 클라이언트 서버 토크프로그램제2장 UNIX BSD 소켓 시스템 콜2장에서는 트랜스포트 계층의 네트웍 프로그래밍 API로 가장 널리 사용되고 있는 UNIX 소켓(socket)에 대하여 상세히 배운다. 먼저 2.1절에서는 소켓의 정의, 소켓번호와 소켓주소의 개념 그리고 소켓을 이용한 네트웍 프로그래밍 작성 방법을 설명한다. 2.2절에서는 IP 주소변환 등 소켓주소의 여러가지 처리에 대하여 설명한다. 2.3절에서 기본적인 클라이언트 프로그램 작성 방법을, 2.4절에서 서버 프로그램 작성 방법을 소개하며 끝으로 2.5절에서는 소켓 프로그래밍에 필요한 UNIX 운영체제의 시스템 콜 signal()과 fork()를 소..
[펌] Unix C 로 코딩할때 필요한 기본적인것들 - 목차[5장까지] 아래 부분은 강줄기님의 홈피에서 가져온것입니다. Unix/Linux - 서버/클라이언트 프로그래머가 될려면 알아야 하는 기본적인 부분들입니다.다시 한번 강줄기님에게 감사드립니다. ^^;;;----------------------------------------------------------------------------------- 안녕하세요? 홈페이지 주인장 강줄기입니다. 아래 네트워크 관련자료는 예전에 어느 웹싸이트에서 퍼온것입니다. 오늘 확인을 하니깐, 책으로도 만들어져 있더군요. http://vcn.kangwon.ac.kr/book/net_prog/book.html 소스코드 관련 자료는 위 홈페이지를 참조하시면 됩니다. - Computer Network Proraming -이 강의의 목적은 학..
[unix c/c++] undefined reference to `xxxxxx` 에러 메시지다.undefined reference to `xxxxxx'이런 메시지가 있다면, 어느날 갑자기 나타 났다면, 한발자국 앞으로 전진 하고 있다고 생각해도 된다.열정을 가진 그대에게 해결책을...발생- ar -t xxxlib로 라이브러리에 포함된 내용을 확인했다.- 라이브러리 잘 링크되었다.- 모든것을 다 점검 했지만 이상이 없다.해결책- 컴파일 순서를 바꿔 보라.잘된경우$(CC) $(CFLAGS) -o $(RMODULE) $(OBJS) $(ORALIB) $(UNPLIB) $(LIB)잘보고 순서를 다시 배열해라.$(OBJS) 파일 뒤에 라이브러리를 둬라.반대로 두면, 엄청난 삽질의 시작이 될것이다. ㅜㅜ잘못된 경우$(CC) $(CFLAGS) -o $(RMODULE) $(ORALIB) $(UNPL..