반응형

프로그래밍 언어 63

calloc vs malloc

둘 모두 메모리를 할당해준다는 점에서는 동일합니다. 하지만, 특정 상황에서는 어떤 것을 써야 할지 혼돈이 생기는 경우가 많습니다. 물론 대부분 calloc보다는 malloc을 쓰게 되는데 왜 이런 두 종류의 api가 존재하는 것일까 궁금하게 되었습니다. 또, calloc은 두개의 인자를 받도록 되어 있습니다. 왜 똑같이 메모리를 할당받는 데 calloc은 두개의 인자를 malloc은 한개의 인자를 받는 것일까요? 추: 답변글들을 꼭 읽어보세요. 이 글은 잘못된 정보를 포함할 수 있습니다. malloc() void *malloc(size_t size); malloc은 size만큼의 메모리를 할당하고 (초기화 없이) 해당 힙 영역을 반환합니다. int *ptr = malloc(10 * sizeof (int)..

py2exe with PMW

이전글 : py2exe 설치 및 간단한 예제 파이썬에서 사용하는 PMW라는 위젯이 있습니다. (이전 글 참고 : PMW 설치하기 , PMW 위젯을 사용하는 방법) 간단히 말해, PMW는 다양한 위젯셋을 제공하는 라이브러리입니다. 그런데 이 PMW를 포함해서 실행파일을 만들 때 다소 까다로운 부분이 있습니다. 사용한 hello.py는 다음과 같습니다. import Tkinter from Pmw import * root = Tkinter.Tk() Pmw.initialise(root) root.mainloop() 그냥 생성하면 마치 잘 생성된것처럼 보이지만 아래 그림처럼 에러가 발생합니다. (앞의 예제 파일을 수정하여 진행하므로, h:\project\python\py2exe 폴더에서 그대로 작업합니다.) 이를..

py2exe

py2exe는 파이썬 파일을 실행 파일로 만들어주는 모듈입니다. 이 글에서는 py2exe를 설치하고 간단한 예제를 돌려보겠습니다. 먼저 py2exe를 설치합니다. http://sourceforge.net/projects/py2exe/files/py2exe/ 에서 여러 버전의 py2exe를 설치할 수 있습니다. 이 글은 0.6.9 중에서도 python 2.7을 사용하겠습니다. 제가 사용한 파일명입니다. py2exe-0.6.9.win32-py2.7.exe 다운로드 받으신 후 실행하시면 아래와 같이 Setup창이 뜹니다. python 경로를 바꾸지 않으셨다면 문제없이 Next만 눌러서 설치가 가능합니다. 설치가 완료되시면 간단한 python 예제를 만들어보겠습니다.(http://www.py2exe.org/in..

[오라클-튜닝]. 유용한 스크립트 모음

데이터베이스 사랑넷에 있는 글이었던 걸 옛날 블로그에서 펌질했었죠. 옛날 블로그에서 다시 옮겨옵니다. (아직 유효한 정보인지 모르겠지만 옛날 블로그 폐쇄를 위해...) 테이블이 사용중인 블록 크기를 계산해주는 SQL /* ** Table이 사용하는 블럭 크기를 구하는 스크립트... ** ** 사용법 : 1) DBA 권한으로 로그인한다. ** 2) SQL> @tab_block [table명] ** ** Notice : sum(blocks)는 사용하는 블럭의 갯수이며 사이즈는 db_block_size를 ** 곱하여 얻을 수 있다. */ SELECT OWNER, TABLESPACE_NAME, SEGMENT_NAME, SUM(BLOCKS) FROM DBA_EXTENTS WHERE SEGMENT_NAME = UP..

JNI on linux

Inside Android 책을 보면서 JNI 예제를 따라 해보고 있다. 책에서는 Visual C++로 예제를 실행하고 있어서 리눅스에서 so 만드는 법이 빠져있다. 1. 책의 예제대로 간단한 java파일을 하나 만든다. HelloJNI.java public class HelloJNI { native void printHello(); native void printString(String str); static { System.loadLibrary("hellojni"); } public static void main(String args[]) { HelloJNI myJNI = new HelloJNI(); myJNI.printHello(); myJNI.printString("Hello World"); } ..

[자바] 날짜, 요일 출력.

자바 안한지 너무 오래되었나 보다. SimpleDateFormat(http://download.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html) 요일이 숫자로 나오게 하는 법을 모르겠음. 또, EEE로 출력시 시스템의 글자를 인식해서 한글로 나오는 듯하다. SimpleDateFormat sdf = new SimpleDateFormat("hhmmss a"); Date date = new Date(timeMillis); String time = sdf.format(date); Calendar http://download.oracle.com/javase/1.4.2/docs/api/java/util/Calendar.html 포맷된 문자열을 얻는..

[C언어] a - b < 0 vs. a < b

너무 간단한 건데, 이런걸 한번에 캐치하지 못했다. 수학시간에 배운데로 a -b < 0 은 a < b와 다를 바 없다. 하지만 프로그래밍 언어에서는? 꼭 그렇지는 않다. 위 간단한 코드를 출력해보면 무엇이 나올까? 출력 결과는 a < b [end] 가 된다. 어찌 보면 당연한건데 막상 프로젝트에서 접하면 쉽게 발견하기 어려운 버그가 된다. unsigned 인 a 와 b의 차를 계산하여 나온 결과가 음이 되므로 오버플로우에 의해서 a - b는 양이 된다. 이런 코딩을 하진 않겠지만 눈에도 익혀서 디버깅을 할 때 쉽게 찾을 수 있도록 노력해야겠다.

C로 수행시간 체크하기

간단하게 수행시간 체크하는 매크로를 만들어보았다.### c++ #ifdef _WIN32 #define ENTER { \ LARGE_INTEGER begin, end, freq; \ QueryPerformanceFrequency(&freq); \ QueryPerformanceCounter(&begin); #define LEAVE \ QueryPerformanceCounter(&end); \ double elapsed_time = (double)(end.QuadPart - begin.QuadPart) / freq.QuadPart; \ printf("%s:%d] %3.2f elapsed\n", __FUNCTION__, __LINE__, elapsed_time); \ #else #include #define E..

반응형