반응형

분류 전체보기 289

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..

__builtin_expect 키워드

최근 이상한 매크로를 발견하고 추적하던 중 멋진 gcc의 키워드를 발견했다. __builtin_expect라는 키워드이다. 아래 URL에 좀 더 자세히 적혀있다. http://galaxyra.linuxstudy.pe.kr/galaxyra/tag/__builtin_expect 한마디로 말하면 실행할 가능성이 높은 애를 위해서 컴파일하도록 하는 매크로이다. 방어적 코딩을 하다보면 무수히 많은 if 문을 넣어야 하는데 아키텍처를 조금이라도 공부한 사람들은 Pipeline Hazard때문에 if문을 꺼리게 된다. if문의 해악을 없앨순 없지만 되도록 실행가능성이 높은 코드를 밑에 배치해 파이프라인 해저드를 최소화 시킬수 있도록 해주는 키워드가 바로 이 키워드이다. #define unlikely(x) __buil..

[Widget] List View

10-06-18 초기 문서 10-08-28 팁 몇개 추가 10-11-30 팁 하나 추가 - Listview 말그대로 List이다. 한 개 이상의 항목을 담아 뿌려주는 것을 기본으로 한다. ListView는 다소 복잡한 Control이나 빈번히 사용하게 될 Widget이다. ListView의 보이는 영역은 Scrollbar, 각 Row Item들, Selector (구분자? seperator? ), Divisor 로 이루어진다. Scrollbar 위 그림에서는 Gallery와 Grid에 걸쳐있는 회색 계통의 긴 막대를 말한다. Scrollbar는 ScrollView를 참조하면 될 것 같다. RowItem 각각의 Row에 저장하는 정보들을 표현한다. 여기에 저장할 수..

[파이썬] CSV2SQL ver 0.1

완전하진 않지만 csv 포맷을 sql 포맷으로 활용하기 위해 변환하는 데 유용한 스크립트입니다. SQL 형태로 만들어주지는 않습니다. 어떤 컬럼이 들어가는지 알 수 없기 때문입니다. 허접하지만 불펌은 정중히 사양하겠습니다. csv가 만약 단순히 , 로 이루어져 있다면 이렇게 복잡하게 할 필요가 없으나 컬럼에 ,가 내용으로 들어가 있는 경우 "" 로 문자열들이 묶여 있게 됩니다. 따라서 단순히 ,로 split 할 수 없어서 이런 스크립트를 만들었습니다. 허접한 글이지만, 도움이 되셨다면 아래 손가락 꾹 눌러주세요.

[python] Windows에서 커맨드창 하나 더 띄우기

os.system("cmd.exe")를 하면 될 것 같았는데 되지 않았다. 이는 커맨드창에서 cmd.exe를 실행했을 때도 새 커맨드 창이 뜨지 않는 것과 같은 이유이다. 무척 쉬운 방법이 있음을 발견했다. os.system("start") 당연히 커맨드창에서 start를 입력해도 동일하게 동작한다. 리눅스에서 터미널을 하나 더 띄울때는 그냥 gnome-terminal (gnome을 쓴다면) konsole (KDE를 쓴다면) xterm (간단한 터미널) 중 하나를 입맛따라 골라 쓰면 된다. 허접한 글이지만, 도움이 되셨다면 아래 손가락 꾹 눌러주세요.

반응형