2011년 6월 30일 목요일

2011년 2월 17일 목요일

cscope-15.7a build with mac os x (snow leopard)

In file included from main.c:49:
/usr/include/ncurses.h:539:40: error: macro "cbreak" passed 1 arguments, but takes just 0
/usr/include/ncurses.h:564:44: error: macro "erasechar" passed 1 arguments, but takes just 0
/usr/include/ncurses.h:600:43: error: macro "killchar" passed 1 arguments, but takes just 0
make[2]: *** [main.o] Error 1


src/constants.h 을 수정하면 빌드 가능

#if (BSD V9) && !__NetBSD__ && !__FreeBSD__
# define TERMINFO 0 /* no terminfo curses */
#else
# define TERMINFO 1
#endif

#undef TERMINFO
#define TERMINFO 1

#if !TERMINFO
# ifndef KEY_BREAK
# define KEY_BREAK 0400 /* easier to define than to add #if around the use */
# endif
# ifndef KEY_ENTER
# define KEY_ENTER 0401
# endif
# ifndef KEY_BACKSPACE
# define KEY_BACKSPACE 0402
# endif

# if !sun
# define cbreak() crmode() /* name change */
# endif

# if UNIXPC
# define erasechar() (_tty.c_cc[VERASE]) /* equivalent */
# define killchar() (_tty.c_cc[VKILL]) /* equivalent */
# else
# define erasechar() (_tty.sg_erase) /* equivalent */
# define killchar() (_tty.sg_kill) /* equivalent */
# endif /* if UNIXPC */
#endif /* if !TERMINFO */

ref.
http://sourceforge.net/tracker/?func=detail&aid=2906214&group_id=4664&atid=204664

2010년 9월 1일 수요일

윈도우 디버깅 시 컴파일러 옵션

윈도우 cl.exe 컴파일러 디버깅 시 /Zi 만 가지고는 안됨
뒤쪽에 d 붙여주고, 링크할 때 /DEBUG 붙여줘야 됨

CFLAGS --> /Zi /Od /MTd
LFLAGS --> /DEBUG

2010년 8월 30일 월요일

_MSC_VER

_MSC_VER VER NAME
800: 1.0
900: 3.0
1000: 4.0 / Visual C++ 4.0
1020: 4.2 / Visual C++ 4.2
1100: 5.0 / Visual C++ 5.0
1200: 6.0 / Visual C++ 6.0
1300: 7.0 / Visual C++ .Net 2002
1310: 7.1 / Visual C++ .Net 2003
1400: 8.0 / Visual C++ .Net 2005
1500: 9.0 / Visual C++ .Net 2008
1600: 10.0 / Visual C++ 2010

2010년 8월 19일 목요일

php 에서 소켓 통신 할 때 double 형 데이터를 hex 로 변환


function double2bin( $value ) {
$bin = pack("d", value);
$hex = '';
for ( $i=strlen($bin)-1; $i >=0; $i--) {
$hex .= $bin[$i];
}

// 네트워크로 전송 가능한 바이너리 형태를 반환
return $hex
}

function bin2double( $b, $offset ) {
// 네트워크를 통해 받은 바이너리에서 double 형 데이터가 들어있는 부분을 가져옴
$bin = substr($b, $offset, 8);

$hex = '';

// 네트워크 바이트 순서로 왔으니 순서를 바꾸어줌
for($i=strlen($bin)-1; $i>=0; $i--) {
$hex .=$bin[$i];
}

// php 에서는 unpack 해줘야 함 --> C 랑 달라서 엄청 헤맸음 ㅠㅠ
$arr_val = unpack("d", $hex);

return $arr_val[1];
}
?>

2010년 6월 9일 수요일

노트북 한영전환 키가 alt 키로 동작할때 (window)

registry editor

1. 시작 -> 실행 -> regdeit
2. HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlSet / Service / i8042prt / Parameters

3. LayerDriver KOR=kbd101a.dll
4. OverrideKeyboardIdentifier=PCAT_101AKEY
5. OverrideKeyboardSubtype=3 (hexadecimal)
6. reboot~

아 신난다~

2008년 9월 23일 화요일

vim window split

window split

#horizontal split
:sp
:20sp 

#vertical split
:vs
:20vs

^ww : 창 사이 이동
^wt, ^wb : 창 사이 이동 (창이 많이 열렸을 때 열린 창의 top, bottom 으로 이동)
^wh, ^wj, ^wk, ^wl : 창 사이 이동 (왼쪽, 아래, 위, 오른쪽으로 각각 이동, hjkl 이 커서 이동키인 것처럼...)

^wc : 커서가 위치한 창을 닫기
^w_, ^w- : 현재 보고 있는 창을 최대화 (나뉘어진 창에 따라 각기 달라짐)
20^w_ : 현재 보고 있는 창의 높이 (라인수) 를 20 으로 지정

#현재 창을 전체화
:only 

#모든 창 닫기
:qa

^wn : 세로로 창 새로 열기
^wv : 가로로 창 새로 열기
^wo : 현재 창만 두고 나머지 창 모두 닫기

^wf, gf: 파일이름 위에 커서가 위치해 있을 경우 해당 파일 열기

^w>, ^w< : 폭 줄이기 늘이기 // 되는 게 있고 안 되는 것도 있는 듯...