기술트랜드

  • 뜻을 모르겠으면 Vim에서 사전 검색을 하자.

    코딩을 하거나 다른 사람의 소스를 볼 때 난감할 때가 간혹 있지 않으세요? 바로 변수의 이름을 어떻게 정할까 혹은 이 변수 이름의 뜻이 뭘까하는 것 말이죠. 제가 그렇거든요. 그래서 이리저리 방법을 찾다가 noth 님의 dic 스크립트를 알게 되어 문제를 해결했습니다. dic은 리눅스의 터미널용 야후/네이버 국어/영어사전 프로그램인데요. 스크립트 파일로 되어 있고 용량도 아주 작은 게 장점이죠. 그리고…

  • imagEmail, GUI 구현

    GTK+와 Glade 3로 구현한 GUI입니다. 이제 여기에 C 코드로 알고리즘만 얹어 놓으면 됩니다. windowMain windowMain은 이름 그대로 메인 화면입니다. 오른쪽의 드롭다운 버튼으로 이메일의 서버종류를 선택할 수 있습니다. 우측 상단의 x 버튼으로 프로그램을 종료합니다. dialogSave dialogSave는 파일을 저장할 때 나오는 대화상자입니다. 아직 100% 구현되지 않았는데, 다 구현되면 “저장”, “취소” 버튼 위에 이메일 이미지가 어떻게 나오는지 보여줄…

  • imagEmail, 간략한 기획

    비주얼 베이직으로 만들었던 hisAlpha Image를 C 언어를 이용하여 리눅스용으로 다시 만들려고 합니다.  리눅스용이라고는 하나, 윈도우나 OS X용으로도 쉽게 포팅될 듯합니다. hiaAlpha Image는 일종의 프로토타입인 것이죠. 사실, 강분도 님의 권유가 아니었으면 그냥 묻혔을겁니다. ㅋ 아래는 간략한 기획입니다. 기능 이메일 주소를 이미지로 만듬. 15종의 메일서버 지원. 개발환경 환경: 리눅스 (Ubuntu 8.10, i386) 언어 및 툴킷 : C,…

  • C :: 0xE0 == 224 ?

    어느 한 분이 게시판에 질문을 올리셨습니다. 소코반 소스중에 일부분입니다. int ch; ch = getch(); //키 입력 if( ch==0xE0 ) { //실행 } 0xE0 은 십진수로 224입니다. 그러면 ch==224 랑 같으면 실행 된다는 말인가요 ㅡ.ㅡ? 『혼자 연구하는 C/C++』에 나오는 한 예제에 대한 질문이었습니다. C에서는 문자형으로 char가 사용됩니다. char는 1byte 자료형으로 -128~127의 값을 가집니다. 그럼 여기서부터 문제가…

  • C :: 1byte씩 메모리 읽기

    Shinnara 님이 알려주신 1byte씩 메모리를 읽는 방법입니다. 스택이나 정적메모리 영역 등에 이용할 수 있겠네요. unsigned char에 대해서는 거들떠 보지도 않았는데 이번 기회로 참 유용하다는 걸 알게되었습니다. ptr = (unsigned char *) &fNumber; 이 부분에 대해서는 지난 글에서 설명했었지요. 차이라고는 unsigned * 대신에 unsigned char *을 사용함으로써 4byte가 아닌 1byte씩 끊어 읽을 수 있다는 것입니다. 아래…

  • 알고리즘 :: 함수의 반환값을 범위 점검할 때 abs 함수를 응용하자.

    abs 함수에 대해 다들 잘 아실 것입니다. 절대값을 구하는 함수지요. 이 abs 함수를 응용하면 함수의 반환값을 범위 점검할 때 걸리는 시간을 줄일 수 있습니다. 가령, 이와 같은 코드가 있다고 가정하겠습니다. Func 함수에서 반환된 값이 MIN ~ MAX 사이의 범위에 있는지 점검하는 코드입니다. 이 코드는 함수를 2회 호출합니다. 만약 1회만 호출하여 같은 연산을 할 수 있다면…