본문 바로가기

C

(3)
[Linux] 세마포어 설정 #include int sem_init(sem_t *sem, int pshared, unsigned int value);int sem_wait(sem_t * sem);int sem_trywait(sem_t * sem);int sem_post(sem_t * sem);int sem_getvalue(sem_t * sem, int * sval);int sem_destroy(sem_t * sem); sem_init : 세마포어 객체를 value 값으로 초기화. pshared = 0 : 현재 프로세스에서 사용pshared != 0 : 여러 프로세스 간에 공유* 현재 Linux는 세마포어가 여러 프로세스 간에 공유되는 것을 지원하지 않음 sem_wait : 세마포어의 값을 1 줄이고, 세마포어의 값이 0인 경우 대기..
delete obj, delete [] obj 차이 메모리 동적 할당을 위해 c++ 에서는 new,해제를 위해 delete를 사용한다. delete 구문 중에 delete [] 는 무슨 이유일까? * int 형 메모리를 할당과 해제하기 위해서는 pData = new int;delete pData; * int 형 100개의 메모리를 할당과 해제하기 위해서는 pData = new int[100];delete [] pData; 이거시 기본 문법(?) 이다. 이거야 다 아는 것이지만... 헌데 왜 저렇게 쓸까? 단순히 배열이기에 배열처럼 해제하려고?배열을 그냥 delete pData; 하면 해제가 안될까? 적어도 VC++ 에서는 잘된다.문제가 생기지도, 릭도 안생긴다~ 그럼 도대체 왜!!! 저렇게 쓸까? 그 이유는 new, delete가 클래스나 구조체등의 오브..
[C] 1. c style...............................................................................................................c 형태의 전역함수 void func(int a); // 함수원형void (*pCall)(int); // 함수포인터 ◎ note;리턴값 void, 인자 int 한개를 가지는 함수의 주소를 담는 변수를 pCall로 선언한다. ◎ 값넣기;pCall = func;pCall = &func; 두가지 모두 가능하나 2번째로 사용하는게 편리.첫번째는 함수의 호출과 혼돈할 여지가 있음. ◎ 호출;pCall(1);(*pCall)(1); 두가지 모두 가능. 2. c++ style...................