본문으로 바로가기
homeimage

컴퓨터/프로그래밍

해당되는 글 307
  • thumbnail
    컴퓨터/프로그래밍

    C언어 호스트 바이트 순서를 네트워크 바이트 순서로 변화 함수 htons()

    C함수 호스트 바이트 순서를 네트워크 바이트 순서로 변환 htons() short 메모리 값을 호스트 바이트 순서에서 네트워크 바이트 순서로 변경합니다. 헤더: arpa/inet.h 형태: uint16_t htons(uint16_t hostshort) 인수: uint16_t hostshort short형 호스트 바이트 순서의 데이터 반환: -1 == 실패, -1 이외 short 형 네트워크 바이트 순서로 변경한 데이터 변수 타입별 함수 구분 함수 구분 설명 uint32_t htonl(uint32_t hostlong) long 형 호스트 바이트 순서 데이터를 네트워크 바이트 순서값 구함 uint16_t htons(uint16_t hostshort) short 형 호스트 바이트 순서 데이터를 네트워크 바이트..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 소켓에 IP주소와 포트번호 지정 함수 bind()

    C bind() 소켓에 IP주소와 포트번호 지정 함수 socket() 함수는 소켓을 생성하여 반환합니다. 헤더: sys/types.h, sys/socket.h 형태: int bind(int sockfd, struct sockaddr *myaddr, socklen_t addrlen) 인수: int sockfd 소켓 디스크립터 struct sockaddr *myaddr 주소 정보 socklen_t addrlen myadd 구조체의 크기 0 == 성공, -1 == 실패 인수 추가 설명 int bind(int sockfd, struct sockaddr *myaddr, socklen_t addrlen) struct sockaddr *myaddr 주소 정보로 인터넷을 이용하는 AF_INET인지 시스템 내에서 통신하..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 소켓 생성 함수 socket()

    C socket() 소켓 생성 함수 socket() 함수는 소켓을 생성하여 반환합니다. 헤더: sys/types.h, sys/socket.h 형태: int socket(int domain, int type, int protocol) 인수: int domain 인터넷을 통해 통신할 지, 같은 시스템 내에서 프로세스 끼리 통신할 지의 여부를 설정합니다. int type 데이터의 전송 형태 지정 int protocol 통신에 있어 특정 프로토콜을 사용을 지정하기 위한 변수이며, 보통 0 값을 사용합니다. 반환: -1 == 실패, -1 이외 소켓 디스크립터 인수 추가 설명 int socket(int domain, int type, int protocol); int domain : 인터넷을 통해 통신할 지, 같은..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 세마포어 값을 변경 semop()

    C semop() 세마포어 값을 변경 함수 semop() 함수는 세마포어의 값을 변경합니다. 세마포어를 사용하기 위해서는 먼저 세마포어 값을 1 감소시키고, 사용 후에는 1 증가시키는데, 이렇게 세마포어값을 증감하는 것을 요청하는 함수입니다. 헤더: sys/types.h, sys/ipc.h, sys/sem.h 형태: int semop ( int semid, struct sembuf *sops, unsigned nsops ) 인수: int semid 시스템에서 세머포어를 식별하는 집합 번호 struct sembuf *sops 세마포어 값을 계사하기위한 설정 값 unsigned nsops 변경하려는 세마포어 개수로 변경하려는 세마포어 개수가 여러 개일 때 사용합니다. 반환: 0 == 성공, -1 == 실패 ..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 세마포어 제어 함수 semctl()

    C semctl() 세마포어 제어 함수 semctl() 함수는 세마포어를 제어합니다. 헤더: sys/types.h, sys/ipc.h, sys/sem.h 형태: int semctl ( int semid, int semnum, int cmd, union semun arg) 인수: int semid 시스템에서 세머포어를 식별하는 집합 번호 int semnum 세마포어 집합 내에서의 세마포어 위치 int cmd 제어 명령 cmd 내용 GETVAL 세마포어의 현재 값을 구한다. GETPID 세마포어에 가장 최근에 접근했던 프로세스의 프로세스 ID를 구한다. GETNCNT 세마포어 값이 증가하기를 기다리는 프로세스의 개수 GETZCNT 세마포어 값이 0 이 되기를 기다리는 프로세스의 개수 GETALL 세마포어 집..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 세마포어 생성 및 접근 함수 semget()

    C semget() 세마포어 생성 및 접근 함수 semget() 함수는 세마포어 집합을 생성하거난 이미 생성된 세마포어에 접근하기 위해 사용합니다. 헤더: sys/types.h, sys/ipc.h, sys/sem.h 형태: int semget ( key_t key, int nsems, int semflg ) 인수: key_t key 시스템에서 세머포어를 식별하는 집합 번호 int nsems 세마포어 집합 내의 세마포어 개수로 접급 제한하려는 자원의 개수 int semflg 동작 옵션 semflg 옵션 내용 IPC_CREATE key에 해당하는 공유 세머포어가 없다면 새로 생성한다. 만약있다면 무시하며 생성을 위해 접근 권한을 지정해 주어야 한다. IPC_EXCL 세머포어가 이미 있다면 실패로 반환하며 세..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 공유 메모리 정보 확인·변경·제거 함수 shmctl()

    C shmctl() 공유 메모리 정보 확인·변경·제거 함수 shmctl() 함수는 공유 메모리에 대한 정보를 구하거나 변경 또는 제거합니다. 헤더: sys/ipc.h, sys/shm.h 형태: int shmctl(int shmid, int cmd, struct shmid_ds *buf) 인수: int shmid 공유 메모리 식별 번호 int 제어 명령 struct shmid_ds *buf 공유 메모리 정보 구하기 위한 버퍼 포인터 반환: int 0 == 성공, -1 == 실패 struct shmid_ds 구조 3번째 인수 struct shmid_ds 구조는 아래와 같습니다. struct shmid_ds { struct ipc_perm shm_perm; /* 접근권한 */ int shm_segsz; /* ..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 공유 메모리를 프로세스에서 분리 함수 shmdt()

    C shmdt() 공유 메모리를 프로세스에서 분리 함수 shmdt() 함수는 프로세스에 첨부된 공유 메모리를 프로세스에서 분리합니다. 헤더: sys/type.h, sys/shm.h 형태: int shmdt(const void *shmaddr) 인수: void *shmaddr 분리할 공유 메모리 주소 반환: int 0 == 성공, -1 == 실패 공유 메모리는 단어 뜻에서 알 수 있듯이 하나의 프로세스에서가 아니라 여러 프로세스가 함께 사용하는 메모리를 말합니다. 이 공유 메모리를 이용하면 프로세스끼리 통신을 할 수 있으며, 같은 데이터를 공유할 수 있습니다. 이렇게 같은 메모리 영역을 공유하기 위해서는 공유 메모리를 생성한 후에 프로세스의 자신의 영역에 첨부를 한 후에 마치 자신의 메모리를 사용하듯 사용..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 공유 메모리를 프로세스에 첨부 함수 shmat()

    C shmat() 공유 메모리를 프로세스에 첨부 함수 shmat() 함수는 공유 메모리를 마치 프로세스의 몸 안으로 첨부합니다. 헤더: sys/type.h, sys/shm.h 형태: void *shmat(int shmid, const void *shmaddr, int shmflg) 인수: int shmid 공유 메모리를 구별하는 식별 번호 void *shmaddr 첨부되는 어드레스 주소. 일반적으로 NULL을 지정 int shmflg 동작 옵션 shmflg 내용 SHM_RDONLY 공유 메모리를 읽기 전용으로 SHM_RND shmaddr이 NULL이 아닌 경우일 때만 사용되며, shmaddr을 반올림하여 메모리 페이지 경계에 맞춘다. 반환: - 공유 메모리는 단어 뜻에서 알 수 있듯이 하나의 프로세스에서..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 공유 메모리 생성 함수 shmget()

    C shmget() 공유 메모리 생성 함수 shmget() 함수는 공유 메모리를 생성합니다. 헤더: sys/ipc.h, sys/shm.h 형태: int shmget(key_t key, int size, int shmflg) 인수: key_t key 공유 메모리를 구별하는 식별 번호 int size 공유 메모리 크기 int shmflg 동작 옵션 shmflg 옵션 내용 IPC_CREATE key에 해당하는 공유 메모리가 없다면 새로 생성한다. 만약있다면 무시하며 생성을 위해 접근 권한을 지정해 주어야 한다. IPC_EXCL 공유 메모리가 이미 있다면 실패로 반환하며 공유 메모리에 접근하지 못한다. 이 옵션이 없어야 기존 공유 메모리에 접근할 수 있다. 반환: -1 == 실패, -1 이외는 공유 메모리 생성..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 메시큐 상태 정보·변경·삭제 함수 msgctl()

    C함수 메시큐 상태 정보·변경·삭제 msgctl() msgctl()은 메시지 큐의 현재 상태 정보를 구할 수 있고, 변경하거나 아예 메시지 큐를 삭제할 수 있습니다. 헤더: sys/types.h, sys/ipc.h, sys/msg.h 형태: int msgctl ( int msqid, int cmd, struct msqid_ds *buf ) 인수: int msqid 메시지 큐 식별자 int cmd 제어 명령 struct msqid_ds *buf 메시지 큐 정보를 받을 버퍼 반환: 0 == 성공, -1 == 실패 msqid는 메시지 큐의 식별 번호입니다. 두 번째 인수인 cmd는 아래와 같은 명령입니다. cmd 의미 IPC_STAT 메시지 큐의 현재 상태를 buf에 저장합니다. IPC_SET 메시지 큐의 상..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 메시지 큐로부터 데이터 수신 함수 msgrcv()

    C함수 메시지 큐로부터 데이터 수신 msgrcv() 메시지 큐로부터 데이터를 수신합니다. 헤더: sys/types.h, sys/ipc.h, sys/msg.h 형태: int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg) 인수: int msqid 메시지 큐 식별자 void *msgp 전송할 자료 size_t msgsz 전송할 자료의 크기 int msgflg 동작 옵션 반환: 0 == 성공, -1 == 실패 msgid는 메시지 큐의 식별자 입니다. msgp는 msgget()에서 설명을 드렸습니다만 전송 대상인 데이터 입니다. 메시지 큐에 전송되는 데이터 구조는 아래와 같습니다. struct { long data_type; char data_buf..
    최근글
    이모티콘창 닫기
    울음
    안녕
    감사해요
    당황
    피폐

    이모티콘을 클릭하면 댓글창에 입력됩니다.