[zlib] deflate algorithm에 대해서

    1.deflate는 압축이다. 2. 압축 연산은 3가지의 함수로 이루어 진다. deflateInit - 메모리 할당 및 내부 상태 변수 할당 deflate - 실제 압축 deflateEnd - 할당 메모리 소거 3.z_stream stream;stream.zalloc = Z_NULL; // 메모리를 할당하는 함수를 지정해 달라는 것, 함수 포인터를 넣어야한다. 기본적으로 사용하는 메모리 할당을 사용하겠단 것이다.stream.zfree = Z_NULL; // 메모리를 해제할 때 사용하는 함수 포인터를 설정stream_opaque = Z_NULL; //함수 포인터의 아규먼트를 전달 하도록 되어 있다. 이 3 인자는 하나로 돌아가는 연관이 되어 있다. deflateInit( &stream, z스트림 압축 le..

    [c++] 스택에 저장된 곳을 다른 함수가 주소를 받아서 사용할 수 있을까?

    1.코드로 실험해보기로 한다. 2. 아래 코드와 같다. #include #include void pass(pthread_mutex_t *pMutex) { printf("pass : %p\n", pMutex); } int main(int argc, char *argv[]) { pthread_mutex_t m_mutex; printf("main : %p\n", &m_mutex); pass(&m_mutex); return 0; } 결과main : 0xbf9a5d64pass : 0xbf9a5d64 두개가 동일한 주소를 가리키고 있다. 3. 그러면 조작도 가능할까? #include #include void pass(pthread_mutex_t *pMutex) { printf("pass : %p\n", pMutex..

    [c++] 변수 선언에 대해서

    1. 변수 선언을 별생각 안하고 하다가 복병을 만났었다.그래서 주변 구루분들에게 여쭤보았다. 2. 변수를 선언하는 것은 스택에 공간을 할당하면서 어떤 타입으로 쓸지를 선언하는 것이다.즉 int, int *, int ** 등이 성질이 동일한 공간에 할당되지만 각기 기능이 달르게 설정되어 있어서 실제로 동작하는 방식도 다르게 된다. 여기서 생각해볼때 변수의 타입은 선언하는 것의 저장할 모양을 명시함과 동시에 논리적인 저장 구조를 갖는다는 생각을 하게 되었다. 3.예시를 하나 적는다. void main() { char ****a; char ***b; char **c; char *e; char d; e = &d; c = &e; b = &c; a = &b;} 이런 식으로 구성되며 b는 주소의 (1) 주소의 (2)..