소프트웨어
[c++/c] linux환경, 파일, 폴더 생성 소스 포스팅
1.그냥그냥 모아놓으면 어차피 내 소스니깐 내가 쓰기 편해서 지속적으로 올려 놓을 생각이다. 2. 키워드 : 파일, 폴더, 생성, 소스, 코드, file, fopen 3. #include #include #include #include int main() { //********************************* // create directory //********************************* struct stat st = {0}; if( stat("com", &st) == -1 ) { mkdir("com", 0700); } else printf("fail\n"); //********************************* // create file //**********..
[c] define으로 함수 선언하기
1.zip.c를 분석하다가 zip.h에 define으로 함수가 많이 선언되어 있는 것을 보고 실험 시작. 2.보통 define으로 함수를 만들면 swap을 많이 만든다.따라서 하나 만들어 보았다. #include #define swap(a,b) {char temp =(a); (a) = (b); (b) = temp;} int main(int argc, char *argv) { char a = 'a'; char b = 'b'; swap(a,b); printf("%c , %c\n",a ,b); return 0; } 여기서 얻은 결론은 define의 함수는 순서대로 실행된다는 것.
Ctags 설정 및 사용법
ctags 알아보기 출처 : http://sungto.tistory.com/trackback/34 ------------------------------------------------------------------------------------------------------------------------------------------------------ == 간단한 ctags 명령어 목록 == :ta [name] :: name과 일치하는 태그 위치로 이동 ctrl + ] :: 커서가 위치하고 있는 함수나 구조체의 정의로 이동 ctrl + t :: 이전 위치로 돌아오기 :ts [name] :: name과 일치하는 태그 목록 출력 :ta /[name]:: name과 일치하는 태그 목록 출력 :t..
[펌] zlib를 사용법
출처 : http://code.oopman.com/102 현재 일반적인 데이터를 압축하기 위해서 사용되는 가장 일반적인 라이브러리 도구는 zlib로써 압축을 위한 사실상의 표준라이브러리로써 운영체제를 불문하고 압축을 필요로 하는 대부분의 애플리케이션에서 사용되어지고 있다. 이 문서는 zlib를 이용해서 압축프로그래밍을 하는데 있어서 중요한 함수들에 대한 레퍼런스를 제공한다. 더불어 간단한 예제들도 준비하고 있다. Zlib 활용윤 상배dreamyun@yahoo.co.kr 차례1절. 소개2절. Zlib를 이용한 압축 프로그래밍2.1절. 유틸리티 함수설명2.1.1절. compress2.1.2절. compress22.1.3절. uncompress2.1.4절. gzopen2.1.5절. gzdopen2.1.6절. ..
[펌] Zip 알고리즘
출처 : http://code.oopman.com/103 zlib를 이용한 zip 압축 기능 구현 테스트 프로그램.단순 압축 기능만 콘솔 프로그램으로 구현해본 것입니다. 소스는 다음과 같습니다. /* * 파일명 : ZipTest.cpp * 사용법 : ZipTest [filename] * 압축하고자 하는 filename를 입력하면 filename.zip이라는 압축파일이 * 생성된다. */ // 표준 C헤더파일#include #include #include // zlib 헤더파일 #include int main(int argc, char *argv[]){char *filename = NULL;char *gzfilename = NULL;gzFile zf;int n;char buf[256];int lerrno;..
[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..
[zlib] zlib에 대해서 (1)
1.zlib을 쓸일이 있어서 공부하게 되었다.zlib을 어느정도로 깊이 공부해야 하는지도 모르기 때문에 이제 시작~ 2.위키에서 찾아보니깐 'C로 작성된 데이터 압축 라이브러리' 라고 한다.(http://ko.wikipedia.org/wiki/ZIP_(%ED%8C%8C%EC%9D%BC_%ED%8F%AC%EB%A7%B7))한국 위키에선 별 다른 이야기가 없다. 미국 위키로 가보자. 3.미국 위키는 Contents 부분만 한국보다 많다.(https://en.wikipedia.org/wiki/Zlib) 근데 들어도 표면적인거라 그냥 넘겨들었다.그래서 홈페이지에가서 직접 보기록 한다. 4.사이트에서 처음 살펴볼 부분은 3부분인것 같다.1. http://zlib.net/manual.html2. http://zli..
[c++] pointer로 선언 후에 pointer를 그대로 넘겨서 pointer에 담아 사용하기
1. 아까부터 계속 포인터에 대해서 연구하고 있다. 2.다시 한번 코드를 만들어 보자. test 벤치 그러니깐 잘 작동하더라.. 내 문제가 이 문제가 아니였다.한참 후에 발견한건데 헤더파일이 추가 되지 않은 class가 선언되어 사용되도 아무 에러도 안뜨더라. #include void passPointer(int *pass) { int *passed; passed = pass; printf("%d\n", *passed); } int main(int argc, char *argv[]) { int *pInt; pInt = new int; *pInt = 5; passPointer(pInt); return 0; }