분류 전체보기 썸네일형 리스트형 warning: passing argument 1 of 'close' makes integer from pointer without a cast close(&char); 위의 것 컴파일시 에러메세지 warning: passing argument 1 of 'close' makes integer from pointer without a cast close함수의 원형 close(int); 위에서는 int자리에 포인터(주소 값)을 넣으므로 에러가 나타남 더보기 리눅스 프로그래밍 환경 1. 리눅스 한글 설정 http://comfun.tistory.com/entry/centos-한글설정 2. alias vi = "vim" 설정 http://movenpick.tistory.com/26 3. .vimrc 파일에 set nu와 자동 줄바꿈 설정을 추가 http://yadw.tistory.com/71 2. 1. vim 설치 yum install vim-enhanced 2.설치 후 vi도 vim 으로 인식 하도록 함 vi /etc/bashrc 해서 alias vi=vim 추가(vi 도 vim으로 인식하도록함) source /etc/bashrc (재로그인 없이 바로 적용) 3.vim 설정파일 설정(처음에는 .vimrc 파일이 없으므로 파일을 생성 하는것임) vi ~/.vimrc(특정계정에 적용하도.. 더보기 13장 다양한 입출력 함수들 send, recv함수 윈도우 = 리눅스 send함수 #include ssize_t send(int sockfd, const void* buf, size_t nbytes, int flags); 성공시 전송된 바이트 수, 실패시 -1 반환 sockfd : 데이터 전송 대상과의 연결을 의미하는 소켓의 파일 디스크립터 전달 buf : 전송할 데이터를 저장하고 있는 버퍼의 주소 값 전달 nbytes : 전송할 바이트 수 전달 flags : 데이터 전송시 적용할 다양한 옵션 정보 전달 recv함수 #include ssize_t recv(int sockfd, void* buf, size_t nbytes, intflags); 성공시 수신한 바이트 수(EOF전송시 0), 실패시 -1 반환 sockfd : 데이터 수신 .. 더보기 12장 IO멀티플렉싱 멀티프로세스구조 IO멀티플렉싱 select함수의 단점 1. 전체 파일디스크립터가 나타나는 배열에 생성되어 검사의 대상이 되는 파일디스크립터만 1로 표시하여 일일히 손으로 배열에 넣어 놓아야 함 2. 변화가 있는 파일디스크립터 뿐 아니라 변화가 없는 파일디스크립터까지 나타나 있는 배열을 받아서 일일히 for문을 통해서 1로 표시된 변화가 생긴 파일디스크립터가 무엇인지 찾아야 함 select 함수 fd_set형 변수에 값을 등록, 변경 등에 관한 함수 FD_ZERO(fd_set* fdset) 인자로 전달된 주소의 fd_set형 변수의 모든 비트를 0으로 초기화 FD_SET(int fd, fd_set* fdset) 매개변수 fdset으로 전달된 주소의 변수에 매개변수 fd로 전달된 파일 디스크립터 정보를 등록.. 더보기 11장 프로세스간 통신 IPC(interprocessor communication) 파이프 = 프로세스간에 서로 메모리참조 불가능 OS가 공유하여 통신할 수 있는 메모리(pipe)를 할당해 줌 파이프함수 #include int pipe(int filedes[2]); 성공시 0, 실패시 -1 반환 filedes[0] : 파이프로부터 데이터를 수신하는데 사용되는 파일 디스크립터가 저장 filedes[1] : 파이프로부터 데이터를 전송하는데 사용되는 파일 디스크립터가 저장 더보기 centos 한글설정 참조 : http://blog.bagesoft.com/868 CentOS 한글 추가 CentOS 언어를 한글로 바꿈. KDE의 경우 메뉴를 한글로 설정 (필수사항 아님) 한자 / 한영키 설정 리눅스의 한글 입력기는 SCIM을 채택하였다. 이 입력기는 한글 변환시 Ctrl + Space 버튼을 기본 설정으로 하여 리눅스 사용자가 혼란을 가진다. 그리고 한/영 키가 바로 변환하지 않아서 상당히 불편하다. 이방법을 해결해 보기로 하자. 일단 루트로 접속한후 setkeycodes 명령을 통해 한영 키와 한자 키를 등록한다. 우리나라에서 일반적으로 사용되는 106키의 경우 한자 키와 한영 키에 사용되는 스캔 코드는 각각 71,72로 이키를 122,123으로 등록한다. 노트북과 같이 자판 배열이 일반과 다를 경우에.. 더보기 10장 멀티프로세스 기반의 서버구현 프로세스 = 메모리 공간을 차지한 상태에서 실행중인 프로그램 프로세스는 프로세스간에 코드영역, 데이터 영역, 힙 영역, 스택 영역을 공유하지 않고 각자 가지고 있음 코드영역: 프로그램의 실제 코드가 저장되어 있는 영역 스택영역 : 로컬변수, 함수에 호출에 관련된 정보, 임시데이터가 저장되는 영역 힙영역 : 동적 메모리 할당에 사용되는 영역 데이터영역 : 전역변수등의 데이터가 저장되는 영역 프로세스(자세히) = OS는 가상메모리를 이용하여 프로그램을 관리 %참고 c언어 상에서 사용하는 메모리는 가상메모리(register + cach + 램 + 하드디스크) 다중접속 서버의 구현방법들 멀티프로세스 기반 서버 = 다수의 프로세스를 생성하는 방식으로 서비스 제공 멀티플렉싱 기반 서버 = 입출력 대상을 묶어서 관리.. 더보기 9장 소켓의 다양한 옵션 소켓의 다양한 옵션 protocol level option name 설명 get set SOL_SOCKET SO_SNDBUF 출력버퍼의 크기 O O SO_RCVBUF 입력버퍼의 크기 O O SO_REUSEADDR TIME-WAIT 상태에서도 포트에 대한 소켓을 강제해제하여 소켓을 할당 가능하도록 함 O O SO_KEEPALIVE O O SO_BROADCAST O O SO_DONTROUTE O O SO_OOBINLINE O O SO_ERROR O X SO_TYPE O X IPPROTO_IP IP_TOS O O IP_TTL O O IP_MULTICAST_TTL O O IP_MULTICAST_LOOP O O IP_NULTICAST_IF O O IPPROTO_TCP TCP_KEEPALIVE O O TCP_NOD.. 더보기 이전 1 ··· 24 25 26 27 28 29 30 ··· 88 다음