목록programming (71)
관심있는 것들 정리
button 추가 및 click 시 button label 변경하는 예제 #include void destroy(GtkWidget *window, gpointer data) { printf("destroy function is called\n"); gtk_main_quit(); } gboolean delete_event_handler(GtkWidget *window, GdkEvent *event, gpointer data) { printf("delete event handler is called\n"); return FALSE; /* return FALSE --> destroy */ } GtkWidget *button = NULL; gboolean button_click_handler(GtkWidget ..
새로운 widget을 기존 window에 추가하려면 GtkContainer를 이용하면 됨 #include void destroy(GtkWidget *window, gpointer data) { printf("destroy function is called\n"); gtk_main_quit(); } gboolean delete_event_handler(GtkWidget *window, GdkEvent *event, gpointer data) { printf("delete event handler is called\n"); return FALSE; /* return FALSE --> destroy */ } int main(int argc, char *argv[]) { GtkWidget *window = NU..
프로그램의 타이틀 바 옆의 버튼을 눌렀을 때 발생하는 delete event 및 destroy event 처리 handler 추가 gtk_widget_set_size_request는 windows의 minicom size를 설정해준다. 이 대신 gtk_window_set_default_size() 함수를 써도 무방하다. 하지만 이 함수는 사용자가 크기를 지정한 값보다 더 작게 조정하는 것을 막을 수는 없다. #include void destroy(GtkWidget *window, gpointer data) { printf("destroy function is called\n"); gtk_main_quit(); } gboolean delete_event_handler(GtkWidget *window, Gd..
GCC에서 inline assembly 사용에 대한 문서인 GCC inline assembly guide를 번역해 놓은 글 http://wiki.kldp.org/wiki.php/DocbookSgml/GCC_Inline_Assembly-KLDP
windows programming. codeproject의 global hotkey 사용 예제 http://www.codeproject.com/Articles/4102/Global-hotkeys-made-easy
1. 일단 gnustep-make package를 인터넷에서 다운받아 설치한다. 2. 그 후 GNUSTEP_MAKEFILES=/usr/GNUstep/System/Library/Makefiles 와 같이 환경 변수를 추가한다. 3. gnustep에서 core.20091202.tar.bz2 파일을 다운받아 압축 풀고 여기서 base를 설치한다(GUI 사용안한다는 가정). 4. 그리고나서 /etc/rc.local 파일 끝에 다음을 추가한다. GNUSTEP_SYSTEM_ROOT=/usr/GNUstep/System if [ -f $GNUSTEP_SYSTEM_ROOT/Tools/gdomap ]; then $GNUSTEP_SYSTEM_ROOT/Tools/gdomap fi 5. 그리고나서 .profile 또는 .bas..
1. 파일 열기 및 닫기 #!/usr/bin/python import sys try: f = open("test.in", 'r') except: print("ERROR: can't open file") sys.exit(1) # input your code here f.close() 2. 파일 열기 및 파일에 쓰기 #!/usr/bin/python import sys try: f = open("test.in", 'w') except: print("ERROR: can't open file") sys.exit(1) f.write("Hello world") f.close() 3. 파일 열기 및 파일 끝에 내용 덧붙이기(append) #!/usr/bin/python import sys try: f = open("t..
예전 Redhat 관련해서 국내에서 사용되었던 알짜리눅스 사용할 때는 기본적으로 프로그램이 동작하다가 죽으면 core 파일이 생성되었고 이를 이용해 gdb를 통해서 debugging을 할 수 있었는데, 언젠가부터 리눅스 배포판 작업시 segmentation fault 등이 발생하였을 때 core 파일이 생성되지 않는다... 이유는 아마도 보안 문제일 듯 싶은데, 프로그램 작성시 core 파일은 상당히 유효한 정보이므로 이를 생성할 수 있도록 다음과 같이 설정이 가능하다 * 현재 core 파일이 생성되는지 확인 방법 > ulimit -c 위 명령을 통해 core 파일이 생성될 때의 core 파일의 크기를 체크할 수 있다. 만약 결과값이 0 이라면, core 파일이 생성되지 않는다. * core 파일 생성되..