-
Subject: C 프로그래머를 위한 C++
Tracked from yundream의 프로그래밍 이야기 2007/04/29 00:42 삭제원문 : http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C++/Documents/CPP_Programing_for_Cprogramer C 사용자를 위한 C++ 윤 상배 yundream@gmail.com 차례 1절. C프로그래머를 위한 C++ 1.1절. 새로운 include 방법 1.2절. 라..
-
Subject: C 프로그래밍 최적화.
Tracked from yundream의 프로그래밍 이야기 2007/04/29 00:43 삭제원문 : http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/C/Documents/COptimization이 문서는 계속 추가/수정 됩니다.1 소개 얼마전에 모바일기기에서 일정수준의 품질을 유지하면서 실행되는 JPEG라이브러리..
-
Subject: ADT - 추상데이터 타입
Tracked from yundream의 프로그래밍 이야기 2007/04/29 00:43 삭제ADT윤 상배 dreamyun@yahoo.co.kr 차례1절. 소개2절. 데이타 추상화2.1절. 추상에 대해서2.1.1절. 그림에서의 추상2.1.2절. 프로그래밍 에서의 추상2.2절. ADT(Abstracte Data Type) - 데이타의 추상 -3절. 결론1절. ..
-
Subject: C언어 초보자를 위한 포인터 가이드
Tracked from yundream의 프로그래밍 이야기 2007/04/29 00:43 삭제1 포인터란? 포인터는 기본적으로 다른 변수와 동일한 새로운 타입의 변수다. 다른 변수들이 실 데이터를 가지고 있는 것 대신에 데이터가 저장된 메모리 공간의 주소를 가지고 있다는 점에 ..
-
Subject: volatile의 class memeber function에서의 의미
Tracked from Alones world 2007/04/29 17:29 삭제volatile이 변수나 struct, class에서 사용될 때는 알고 있었던 것 같은데(물론 ㅡㅡ; device driver 개발이나 thread programming을 심하게 하지 않으니 잘 쓰진 않는다.)※아래와 같은 글들은 (복사되고 참조..
-
Subject: Aspect Oriented Programming (AOP) - 상황중심의 프로그래밍
Tracked from Alones world 2007/04/29 17:30 삭제몇 년전 AOP에 대해서 듣게 되었는데, ZDNet Korea에 아래 Ref와 같이 AOP에 대한 기사가 났다.-_-;; 상황 중심의 프로그래밍 이라고 해서 새로운 방법에 대해 기술하는 줄 알았다.아무튼..내용은 object..
-
Subject: File IO std::ifstream::getline(), seekg(), clear() 관련
Tracked from Alones world 2007/04/30 13:28 삭제※ 예저에 쓴 글인데 팀 블로그로 보내기 위해서 갱신했습니다.ifstream의 경우 getline()으로 end of file로 가거나 stream이 bad state가 되었을 경우 std::ifstream::clear()를 불러주어야 한다는 내용. -_-;; 첨..
-
Subject: Pthread API Reference
Tracked from yundream의 프로그래밍 이야기 2007/05/01 10:47 삭제태그 : 시스템프로그래밍 pthread C Linux 쓰레드 Pthread API Reference 윤 상배 <dreamyun@yahoo.co.kr> 고친 과정 고침 0.9 2004년 6월 30일 12시 pthread 취소관련 api 추가 고침 0.8 2003년 10월 9일 12시 pthread 시..
-
Subject: 인생은 지수로그 - : 부제 개발맨과 영업맨과의 시각차이 -
Tracked from yundream의 프로그래밍 이야기 2007/05/01 10:48 삭제보안 얘기 부터 컴퓨터 정보 보안으로 범위를 축소시켜 보겠습니다. 개념은 아주 단순하죠. 컴퓨터 내의 정보를 외부의 침입으로 부터 보호하겠다는 의미입니다. 자신이 제어하는 컴퓨터의 ..
-
Subject: 함수포인터의 사용
Tracked from yundream의 프로그래밍 이야기 2007/05/01 18:12 삭제함수포인터의 사용윤 상배 dreamyun@yahoo.co.kr 교정 과정교정 0.82003년 3월 1일 23시최초 문서작성차례1절. 함수포인터란 ?1.1절. 선언방법1.2절. 왜 함수포인터를 사용하는가2절. 함수포인터의 활용2...
-
Subject: 표준 C라이브러리를 이용한 문자열 다루기
Tracked from yundream의 프로그래밍 이야기 2007/05/02 16:46 삭제원문 : Joinc wikiC 에서의 문자열 C는 원칙적으로 문자를 문자객체로 다루지 않는다. 애시당초 문자열이란게 존재하지 않으며, 배열로 다룰 뿐이다. 그러므로 우리는 포인터 혹은 배열첨자를 통..
-
Subject: C 로 숫자를 어떻게 출력하는가를 제시하는 예제
Tracked from MINZKN의 블로그 2007/05/02 19:24 삭제/* Copyright (C) Information Equipment co.,LTD. All rights reserved. Code by JaeHyuk Cho <mailto:minzkn@infoeq.com> ID="$Id: main.c,v 1.1 2006/12/22 01:13:09 minzkn Exp $" */ #include <stdio.h> #include <stdlib.h> #include <string.h..
-
Subject: XMS 사용예제
Tracked from MINZKN의 블로그 2007/05/02 19:24 삭제아래의 예제는 XMS(himem.sys 가 제공하던 메모리 페이지 할당) 예제/* Code by JaeHyuk Cho <mailto:minzkn@infoeq.com> */ #include <stdio.h> #include <string.h> #include <dos.h> #include <stdlib.h> #include ..
-
Subject: 콘솔화면 소거
Tracked from MINZKN의 블로그 2007/05/02 19:25 삭제# File : clear.s # Code : JaeHyuk Cho <minzkn@infoeq.com> .code32 .globl mzstartup .text .org 0 mzstartup: xorl %edx, %edx movl $L_ClearANSI, %ecx 0: inc %edx testb $0xff, (%ecx, %edx, 1) jnz 0b movl $4, %eax movl $1, %ebx int $0x80 movl %ebx, %ea..
-
Subject: base64 encode/decode
Tracked from MINZKN의 블로그 2007/05/05 02:07 삭제이것은 base64 에 대한 알고리즘 및 구현방안에 대해서 모색하기 위해서 꽤 오래전에 만들었던 코드입니다. 이와 비슷한 예제는 많이 볼수 있지만 좀 다른 부분은 아래와 같습니다. * 특징: 고정..
-
Subject: Linux 에서 malloc 으로 할당된 memory 크기를 알수 있는 방법
Tracked from MINZKN의 블로그 2007/05/05 02:09 삭제리눅스에서 malloc 으로 할당한 총 메모리 크기를 알수 있는 방법이 있는데 아직 모르시는 분들을 위해서 끄적끄적 적어봅니다. 물론 hook 을 통해서도 할수 있고 mcheck 를 통해서도 방법이 있는..
-
Subject: 터미널 커서 ON/OFF 방법
Tracked from MINZKN의 블로그 2007/05/05 02:12 삭제현재 터미널의 커서를 ON/OFF 하는 방법 Cursor ON 방법 인용: bash# echo -e "\x1b[?25h" Cursor OFF 방법 인용: bash# echo -e "\x1b[?25l" 간단히 C로 예제를 보이자면 다음과 같습니다. 코드: void mz_cursor_on(void) { fpr..
-
Subject: MD5 digest (128bit)
Tracked from MINZKN의 블로그 2007/05/05 02:20 삭제보안을 위해서 인자를 스택을 통해서 복사된 블럭을 가져와서 사용하고 다른 함수들이 사용되면서 그 영역을 뭉개는 방법이 있고 제가 구현한 방법처럼 일반적인 포인터로 받아서 뒤에서 mems..
-
Subject: Non-blocking connection (비블럭 연결)
Tracked from MINZKN의 블로그 2007/05/05 02:23 삭제Non-blocking 연결은 생각보다 유용한 부분이 많은것 같습니다. 일반 connect 를 수행하면 상대방이 연결을 받아주지 않으면 무한정(대략 30초에서 2분) 대기상태로 빠지게 되는 단점이 있으나 Non-blo..
-
Subject: pipe(pipe, dup2, popen) 통신
Tracked from MINZKN의 블로그 2007/05/05 02:24 삭제man page에 보면 pipe와 dup2에 대해서 너무나 잘 설명되어 있습니다. 이 글은 man page를 보고서 pipe가 어떻게 생성되며 언제 그것을 닫게 해야 하고 dup2에 의해서 생성된 fd는 close되고 생성된다는 것..
-
Subject: 정현파 소리발생 (Linux/OSS 예제)
Tracked from MINZKN의 블로그 2007/05/05 02:25 삭제sin함수와 cos함수의 기본적인 사용을 이해하고 /dev/dsp 의 조작에 대한 간략한 예를 위해 만들어봤습니다. 코드: /* Copyright (c) 2002 Information Equipment co.,LTD. All Right Reserved. Code by JaeHyuk Cho <minzkn@in..
-
Subject: Rebooting for linux
Tracked from MINZKN의 블로그 2007/05/05 02:27 삭제재부팅에는 방법이 제가 알기로는 2가지가 존재합니다. 첫번째는 init에 signal을 사용하는 방법이 그것이고 두번째는 reboot 시스템 콜을 사용하는 방법이 그것입니다. 이 페이지에서는 두번째 ..
-
Subject: NAND flash 소거코드(MTD) for linux
Tracked from MINZKN의 블로그 2007/05/07 09:47 삭제NAND flash 는 MTD 장치의 일종으로 소거동작후에 쓰기가 가능한 메모리 종류입니다. 그리고 통상 NAND flash 는 Character device 로 많이 사용되며 한개의 통상 소거블럭이 4Kbyte 정도 됩니다. 즉, 1바이..
-
Subject: 안걸리는 스텔스 포트 스캔 소스코드
Tracked from MINZKN의 블로그 2007/05/07 09:52 삭제출처: http://blog.naver.com/romu/60002716346 이 소스는 멀티쓰레드 스텔스 포트 스캐너로서 다양한 옵션과 UDP 스캔, TCP 스캔, TCP SYN 스캔등의 기능을 제공합니다. 컴파일 방법 : 인용: gcc rootscan.c -o rootsc..
-
Subject: getpasswd(암호입력처리) for linux
Tracked from MINZKN의 블로그 2007/05/07 09:53 삭제이것은 일상적인 암호문을 사용자에게서 입력받을때 사용하는 범용적인 termios 사용 예를 만들어 본겁니다. 이 함수를 만드는데는 조건이 여러가지 보안정도에 따라서 보다 철저한 관리가 필..
-
Subject: 간단히 구현한 ifconfig 예제
Tracked from MINZKN의 블로그 2007/05/08 12:07 삭제이 소스는 ifconfig 의 간략한 구현예제 입니다. 하지만 다양한 플랫폼을 지원하기 위해서 범용적인 코드를 원한다면 아래의 예제처럼 구현하기 보다는 pcap library 를 사용하기를 권합니다. 코드:..
-
Subject: "rdate" 명령과 흡사하게 구현하기
Tracked from MINZKN의 블로그 2007/05/08 12:10 삭제이것은 UNIX 명령어중에서 "rdate" 명령을 흉내내는 예제입니다. 최대한 비슷하게 만들었습니다. 코드: /* Copyright (c) 2002 Information Equipment co.,LTD. All Right Reserved. Code by JaeHyuk Cho <minzkn@infoeq.co.kr>..
-
Subject: Byte order 검출 이론
Tracked from MINZKN의 블로그 2007/05/08 12:11 삭제이것은 자신의 시스템에 대하여 byte order 가 어떻게 되는지 검출하는 겁니다. x86 계열에서는 little endian 으로 검출될것이고 PPC, mips 계열에서 실행하면 big endian으로 검출되겠지요. 코드: /* Copyrig..
-
Subject: endian 에 대해서
Tracked from yundream의 프로그래밍 이야기 2007/05/08 13:35 삭제endian 에 대해서윤 상배 dreamyun@yahoo.co.kr 차례1절. endian 에 대한 기초지식1.1절. 자세한 데이타 방식2절. Endian 이 실제 프로그래밍 환경에서 중요한가2.1절. 그럼 네트웍 상에서 어떤 문제가 발생..
-
Subject: "ps" 명령어 흉내내기
Tracked from MINZKN의 블로그 2007/05/08 17:21 삭제UNIX의 ps 명령을 흉내낸 예제입니다. 코드: /* Copyright (c) 2002 Information Equipment co.,LTD. All Right Reserved. Code by JaeHyuk Cho <minzkn@infoeq.co.kr> This example !!! - Simple is best. */ #include <stdio.h> #include <..
-
Subject: "tar" 명령어 흉내내기
Tracked from MINZKN의 블로그 2007/05/08 17:22 삭제이것은 tar 파일을 푸는부분만 구현한것입니다. 코드: /* Copyright (c) 2002 Information Equipment co.,LTD. All Right Reserved. Code by JaeHyuk Cho <minzkn@infoeq.co.kr> */ #if !defined(DEF_tar_c) #define DEF_tar_c "tar.c" #include..
-
Subject: "WAV" 파일 재생 예제 (버그있는 버젼)
Tracked from MINZKN의 블로그 2007/05/08 17:23 삭제이 소스는 WAVE 파일을 재생하는 예제로 만들려고 했으나 솔직히 버그가 좀 있습니다. 일부러 버그 못잡은게 아니고 몰라서 못잡고 있습니다. 코드: /* Copyright (c) 2002 Information Equipment co.,LTD. All R..
-
Subject: setjmp, longjmp를 이용하여 프로그램 재시작하기
Tracked from MINZKN의 블로그 2007/05/08 17:25 삭제이 프로그램을 컴파일해서 실행해두시고 "kill -10 <pid>" 이렇게 입력하여 강제로 signal 10번을 발행하면 프로그램은 다시 처음부터 실행하는 효과를 받습니다. 즉, 시그널 번호 10번을 받으면..
-
Subject: Background process 인지 검사 (Linux)
Tracked from MINZKN의 블로그 2007/05/08 17:26 삭제실행된 자신의 실행코드가 백그라운드로 exec되었는지 검사할때 필요한 함수를 만들어 봤습니다. 이러한 백그라운드 유무 검사는 tcsetattr 을 사용할때 굉장히 중요합니다. 왜냐하면 백그라운..
-
Subject: Wake on LAN의 Magic code 송신예제
Tracked from MINZKN의 블로그 2007/05/08 17:33 삭제Wake on lan 의 Magic code 송신하는 source 입니다. (첨부파일 참조.) 본 소스는 http://www.scyld.com/expert/wake-on-lan.html 에서 발췌하였음을 밝힙니다.. 코드: /* ether-wake.c: Send a magic packet to wake up sleeping machine..
-
Subject: [번역 작업] The Function Pointer Tutorial (Lars Haende)
Tracked from Alones world 2007/05/08 17:45 삭제Lars Haende의 사이트에 있는 "The Function Pointer Tutorial"을 번역해보았습니다.물론 아래 글 처럼 중간 중간에 이해를 돕기 위해 나의 의견과 실제 경험들을 조금 추가했습니다.Function Pointer는 많이 ..
-
Subject: 프로세스 이름 바꾸어 실행하기 (execvp)
Tracked from MINZKN의 블로그 2007/05/08 17:48 삭제프로세스 이름 바꾸어 실행하기 관련글: http://www.joinc.co.kr/modules.php?op=modload&name=Forum&file=viewtopic&topic=31022&forum=1&3 코드: #include <stdio.h> #include <unistd.h> #include <stdlib.h> ..
-
Subject: 표준 출력/에러을 특정 파일로 재지향하는 예제 (dup2)
Tracked from MINZKN의 블로그 2007/05/08 17:58 삭제표준출력, 표준에러출력을 특정 파일로 재지향하는 예제입니다. 관련글: http://www.joinc.co.kr/modules.php?op=modload&name=Forum&file=viewtopic&topic=31026&forum=1&1 코드: /* Code by JaeHyuk Cho <mailto:..
-
Subject: typeof 예제소스
Tracked from MINZKN의 블로그 2007/05/08 17:59 삭제typeof 의 활용에 대한 간략한 예제를 만들어 봤습니다. 관련글: http://www.joinc.co.kr/modules.php?op=modload&name=Forum&file=viewtopic&topic=31030&forum=1 코드: /* By JaeHyuk Cho <mailto:minzkn@infoeq.com> */ ..
-
Subject: 128bit 정수를 담은 byte 배열 shift 예제
Tracked from MINZKN의 블로그 2007/05/08 17:59 삭제128bit 정수를 담은 byte 배열 shift 예제 관련글: http://www.joinc.co.kr/modules.php?op=modload&name=Forum&file=viewtopic&topic=31036&forum=1 코드: /* Code by JaeHyuk Cho <mailto:minzkn@infoeq.com> */ #include <stdio..
-
Subject: Graphics 의 핵심인 bitblit 을 이해할수 있도록 만든 예제
Tracked from MINZKN의 블로그 2007/05/08 18:01 삭제그냥 받아서 컴파일해서 실행해보세요. bitblit 의 원리를 간략하게 구현해본겁니다. 엄밀히 말하면 bitblit 이라기 보다는 byteblit 이긴 하지만 원리는 같습니다. 코드: /* Copyright (C) Information Equipme..
-
Subject: Terminal size 얻어오기 예제
Tracked from MINZKN의 블로그 2007/05/08 18:22 삭제이것은 간략한 Terminal size 를 얻어오는 예제를 구현한겁니다. 코드: /* Copyright (C) Information Equipment co.,LTD. All rights reserved. Code by Jae제Hyuk Cho <mailto:minzkn@infoeq.com> CVSTAG="$Header$" */ #include <sys/t..
-
Subject: 메모리 할당전략 변경 예제 (hook)
Tracked from MINZKN의 블로그 2007/05/08 18:25 삭제메모리 할당전략 변경. 옛날 옛적 호랑이 해킹하던 시절 유용하게 존재했던 해킹기법이 사려있는 그것. 코드: /* Copyright (c) 2002 Information Equipment co.,LTD. All Right Reserved. Code by JaeHyuk Cho <minzkn@inf..
-
Subject: 비동기 수신 (ASync read)
Tracked from MINZKN의 블로그 2007/05/08 19:13 삭제/* Copyright (C) Information Equipment co.,LTD All rights reserved. Code by JaeHyuk Cho <mailto:minzkn@infoeq.com> CVSTAG="$Header$" */ #include <sys/param.h> #include <stdio.h> #include <sys/types.h> #include <unistd.h> #i..
-
Subject: 멀티캐스트(Multicast) 송/수신 예제
Tracked from MINZKN의 블로그 2007/05/08 19:15 삭제멀티캐스트의 송신부는 일반 UDP코드와 비슷하거나 거의 동일합니다. 다만 TTL설정부분이 다릅니다. 멀티캐스트의 수신부에서는 Membership join 이라는 작업이 필요하며 drop 의 경우는 굳이 할 필..
-
Subject: RTC 접근 예제
Tracked from MINZKN의 블로그 2007/05/08 19:16 삭제인용: ================================ Real Time Clock Driver for Linux ================================ All PCs (even Alpha machines) have a Real Time Clock built into them. Usually they are built into the chipset of the computer, but some may actual..
-
Subject: 함수포인터 형변환
Tracked from MINZKN의 블로그 2007/05/08 19:17 삭제많은 분들께서 함수포인터의 형변환에 대해서 헷갈리시는 분들이 계시는 것으로 알고 있습니다. 저 또한 상당히 헷갈렸던 부분이고요. 간단히 그것을 설명하기 위해서 한가지 예를 보여드립..
-
Subject: VGA 16/256Color default palette
Tracked from MINZKN의 블로그 2007/05/08 19:20 삭제기본 palette 값입니다. 보통은 RGB0233 과 같이 색을 일반화하여 사용하는게 더 낳다고 생각되지만 간혹 이게 쓸데가 있네요. 코드: #define __mzexport__ struct ts_mz_palette { int red; int green; int blue; }; __mzex..
-
Subject: bitmap 예제 (영문폰트)
Tracked from MINZKN의 블로그 2007/05/08 19:21 삭제코드: /* Copyright (C) Information Equipment co.,LTD. All rights reserved. Code by JaeHyuk Cho <mailto:minzkn@infoeq.com> CVSTAG="$Header$" */ #include <stdio.h> const unsigned char g_mz_bitmap_font_en[2048] = { /* 0 0x00 '^@' */ 0x00, /* ..
-
Subject: strtol (atoi, atol) 구현 예제
Tracked from MINZKN의 블로그 2007/05/08 19:35 삭제관련글: http://www.asmlove.co.kr/bbs/zboard.php?id=tipntech&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=121 코드: /* Copyright (C) Information Equipment co.,LTD. All rights reserve..
-
Subject: scandir 예제
Tracked from MINZKN의 블로그 2007/05/08 19:37 삭제코드: /* Copyright (C) Information Equipment co.,LTD. All rights reserved. Code by JaeHyuk Cho <mailto:minzkn@infoeq.com> CVSTAG="$Header$" */ #include <sys/types.h> #include <stdio.h> #include <stdlib.h> #include <malloc.h&..
-
Subject: VT(Virtual terminal key) 입력예제
Tracked from MINZKN의 블로그 2007/05/09 11:22 삭제"ESC" 키를 누르면 종료하게 됩니다. Escape seq 로 진입하는 경우에 대한 코드는 머리가 복잡하여 좀 고민좀 해봐야 겠네요. 코드: /* Copyright (C) Information Equipment co.,LTD. All rights reserved. Code by JaeHyuk ..
-
Subject: Real root device 찾기
Tracked from MINZKN의 블로그 2007/05/09 11:24 삭제어떤 파일이나 디렉토리가 있습니다. 그런데 이것이 어떤 device 에 존재하는지 찾고 싶습니다. 그렇때 어떻게 할까요? 그에 대한 약간의 힌트를 예제로 만들어 보았습니다. 코드: /* Copyright (C) I..
-
Subject: fork/execvp 를 사용하지 않고 다른 프로세스의 main을 호출
Tracked from MINZKN의 블로그 2007/05/09 11:29 삭제이것은 좀 생소한 방식을 소개하고자 만들어 봤습니다. fork및 execvp 를 사용하지 않고 다른 프로세스의 main을 호출하는 방법을 소개하고자 만든것입니다. 단, 실행될 프로세스는 링크시에 반드..
-
Subject: 논리적인 파일 lock 걸기 예제 (fcntl)
Tracked from MINZKN의 블로그 2007/05/09 11:30 삭제man page 에 더 잘 나와 있네요. 주의: 한쪽만 fcntl 로 lock 을 걸어서는 의미가 없습니다. 코드: /* Copyright (C) Information Equipment co.,LTD. All rights reserved. Code by JaeHyuk Cho <mailto:minzkn@infoeq.com> CVSTAG="$H..
-
Subject: 가변 readlink 예제
Tracked from MINZKN의 블로그 2007/05/09 11:32 삭제readlink 함수 자체의 예제만으로는 너무 단순해서 좀 확장한 예제를 만들어 봤습니다. 고정폭 버퍼를 사용하여 버퍼오버플로우 취약점을 남겨두는것보다 다음과 같이 가변적인 버퍼가 되도록 ..
-
Subject: ping (ICMP/RAW socket) 예제
Tracked from MINZKN의 블로그 2007/05/09 11:38 삭제완전한 ping 은 아닙니다. 정말로 최소구현입니다. 이것은 sid 가 걸려있거나 root 유저에서 실행가능합니다. 이유는 RAW socket 이기 때문입니다. 코드: /* Copyright (c) Information Equipment co.,LTD. Code by Jae..
-
Subject: mmap 을 이용한 파일 다루기 예제
Tracked from MINZKN의 블로그 2007/05/09 11:44 삭제예전에 간단히 만들어둔게 있었는데 joinc 에서 관련 쓰레드가 있어서 그거에 맞춰서 소스를 좀 수정하여 pthread 상황에 대한 접근관계도 고려하여 수정한것입니다. 테스트할때는 파일을 좀 작..
-
Subject: volatile 키워드에 대해서
Tracked from MINZKN의 블로그 2007/05/09 11:48 삭제관련글: http://www.joinc.co.kr/modules.php?op=modload&name=Forum&file=viewtopic&topic=31173&forum=1 volatile 은 컴파일러에게 최적화를 하지 않도록 요청하는 것입니다. (명령이 아니라 부탁하는 정도라..
-
Subject: fcntl 을 이용한 파일/레코드 잠금
Tracked from yundream의 프로그래밍 이야기 2007/05/09 14:17 삭제원문 : Joinc Wiki 잡담 fcntl의 다른 전반적인 내용들에 대해서 알아보도록 한다. 시그널 발생 및 다른 프로세스로의 통보 방법들에 대해서 확인하도록 한다. 특히 다른 프로세스로의 이벤트 통보..
-
Subject: 헝가리안 변수 표기법 (Hungarian notation) - System과 App를 위한 두 가지가 있다.
Tracked from Alones world 2007/05/10 00:36 삭제이 것 저 것 섞어 쓰다 보니 (상황에 따라 라는 핑계를 대며) 정리가 안되는 것 같아서..(※ -_-;; 또는 기분에 따라.. ) <-- 참 못된 버릇이다좀 일관성 있게 써야 겠다 싶어서 정리해서 포스팅 ..
-
Subject: std::ostrstream 사용 시 메모리 누수 주의 사항
Tracked from Alones world 2007/05/10 01:34 삭제in my wiki: http://alones.byus.net/moniwiki/wiki.php/caution_ostrstream?action=show std::ostrstream은 '<<' 연산자를 이용해서 문자열이나 숫자 등을 받아서 string으로 변경해주는 기능이 있어서 예전에 자주 사용..
-
Subject: C 소스 최적화
Tracked from Engineer?? Developer ?? 2007/05/10 10:19 삭제<P>C소스 최적화</P>
-
Subject: serial 통신 예제 (echo)
Tracked from MINZKN의 블로그 2007/05/10 13:00 삭제이것은 간단히 Serial 통신을 하는 예제입니다. serial로부터 받은 데이터를 고스란히 다시 반향하여 보내는 것입니다. 현재 코드는 인용: port=COM1 ("/dev/ttyS0") baud=9600 parity=true stop=1 data=8bit 로 만들..
-
Subject: CRC32
Tracked from MINZKN의 블로그 2007/05/10 13:04 삭제CRC32 의 C / ASM 구현입니다. 코드: /* Copyright (c) 2004 JaeHyuk Cho <mailto:minzkn@infoeq.com> All right reserved. */ #ifndef __DEF_SOURCE_mzcrc_c__ #define __DEF_SOURCE_mzcrc_c__ "mzcrc.c" #include <stdio.h> #include "mzcrc.h" #def..
-
Subject: 표준입력/표준출력/표준에러 file descriptor 에 대한
Tracked from MINZKN의 블로그 2007/05/10 13:06 삭제관련글: http://joinc.co.kr/modules.php?op=modload&name=Forum&file=viewtopic&topic=31222&forum=1 file descriptor 번호 0, 1, 2 의 의미에 대한 이해를 위한 일반적인 예제입니다. 코드: /* Copyright (C) Information Eq..
-
Subject: bunzip2 의 초간단 구현예제입니다. (busybox 참고)
Tracked from MINZKN의 블로그 2007/05/10 13:33 삭제이 소스는 busybox 에 있는 bunzip2 의 소스를 저의 코딩스타일에 맞게 아주 조금 변경한 것입니다. Huffman, LZW, Packing 에 대한 이해를 위해서 좀 분석하려고 보기좋게 소스를 정리한것이었는데 busybo..
-
Subject: df 명령의 간단한 구현
Tracked from MINZKN의 블로그 2007/05/10 13:37 삭제df.tar.bz2실행한 화면 bash# ./mzdf System information ================== Uptime = 0 21:55:33 Loads 1/5/15 min = 352/3264/512 Total ram = 527372288 bytes Free ram = 9428992 bytes Shared ram = 0 bytes Buffer ram = 25620480 bytes Total swap = 10281492..
-
Subject: 최대공약수 구하기 (G.C.M.)
Tracked from MINZKN의 블로그 2007/05/10 13:40 삭제mzgcm.tar.bz2최대공약수 정말 고민했습니다. 첨부파일로는 C언어버젼으로 활용예제입니다. Display aspect ratio 를 구하거나 Pixel aspect ratio 를 구하는 간략한 활요예제입니다. 어셈블리(Linux 버젼)로..
-
Subject: hash의 개념이해를 돕기 위한 초간단 예제
Tracked from MINZKN의 블로그 2007/05/10 13:42 삭제mzhash.tar.bz2정말 최대한 간추려서 올렸습니다. 첨부파일을 받아서 직접 해보시는것이 이해하는데 도움이 될겁니다. 실제로 hash를 실무에 적용하기 위해서는 이정도 구현으로는 부족함이 팍팍 ..
-
Subject: 구문해석 - 방법 #1 (get_word_sep)
Tracked from MINZKN의 블로그 2007/05/10 13:46 삭제mzget_word.tar.bz2이것은 구문해석의 수많은 방법중에서 한가지를 구현하여 표현하고자 만든것입니다. 가장 보편적인 방법이기도 합니다. 코드: /* Copyright (C) Information Equipment co.,LTD All rights reserved..
-
Subject: 이글은 Linux kernel v2.4 를 기준으로 합니다.
Tracked from MINZKN의 블로그 2007/05/10 13:50 삭제pwentry.tar.gz이 소스는 간단히 현재 사용자명과 암호가 같은 경우를 검출하는 것입니다. 즉, 사용자명이 "test" 인데 암호도 "test"이면 딱 걸립니다. 사전식 및 조합식으로 암호를 역 추출하는 예..
-
Subject: 대지라 (Delegation)이 무엇이고 뭐가 좋고 어디에 쓸 것인가? (C/C++ 관점)
Tracked from Alones world 2007/05/13 13:13 삭제제목 그대로 Design Pattern에 있는 Delegation이 무엇이고 어떤 점이 있고 어디에 쓸 것인지 대해서 작성해 보았다.C/C++ 관점에서...최신 update는 아래 wiki site에서 볼 수 있다. in my wiki: http://alones.byus.n..
-
Subject: STL의 iterator에 대해 const를 사용 시 주의 사항 (using const_iterator)
Tracked from Alones world 2007/05/14 01:13 삭제일반적인 const 사용 방식에 익숙하다가 가끔 STL의 iterator에 실수 하는 경우도 있을 것 같아서 아래 글을 써 봅니다.(예전에 포스트 한 것을 좀더 다듬어서 위키에 정리했습니다)물론, 최신의 내..
-
Subject: STL 소개
Tracked from yundream의 프로그래밍 이야기 2007/05/14 03:46 삭제오늘부터 STL 스터디 들어갑니다. 많은 관심 부탁드려요. 원문 : Joinc WikiSTL(1) - 개요윤 상배 dreamyun@yahoo.co.kr 차례1절. 소개2절. STL 소개2.1절. STL 이란 무엇인가2.1.1절. 왜 STL 을 사용하는가2.1.2절. ..
-
Subject: pthread - 쓰레드에 대해서
Tracked from yundream의 프로그래밍 이야기 2007/05/18 17:52 삭제아주 오래전 글인데, 포스팅 합니다. 수정해야될 부분들이 눈에 띄네요. 손좀 봐야 겠습니다.최신문서는 joinc wiki 을 통해서 관리할 계획입니다.쓰레드는 무엇이며, 왜 이용하는가 쓰레드는 세..
-
Subject: 왜 C++인가.
Tracked from yundream의 프로그래밍 이야기 2007/05/19 15:39 삭제번역문 : Joinc Wiki.. 번역문인데, 원문링크를 잃어 버렸습니다. -.-; 그러려니 하고 읽어주세요. 그리고 개인적으로 언어에 대한 선입견은 없습니다. C/C++을 주로 사용하지만, Perl, Java, Shell Script ..
-
Subject: CDROM eject/close_tray 예제소스
Tracked from MINZKN의 블로그 2007/05/21 08:52 삭제본래 마운트를 해제하는 기능도 있어야 하지만 이 소스에서는 해당부분이 생략되었습니다. 하지만 나름대로 마운트 해제를 하지 않는게 좋을거 같기도 하네요. 만약 마운트도 해제하도록 하..
-
Subject: [C/Linux] Memory 사용량 감시
Tracked from MINZKN의 블로그 2007/05/21 08:54 삭제그냥 "proc"에 있는거 보여주는겁니다만... 코드: /* Copyright (C) Information Equipment co.,LTD All rights reserved. Code by JaeHyuk Cho <mailto:minzkn@infoeq.com> CVSTAG="$Header$" */ #include <sys/types.h> #include <sys/ti..
-
Subject: STL의 std::string::find_last_of 사용 시 중의 사항
Tracked from Alones world 2007/05/22 02:50 삭제요즘 블로깅을 통 못했다. 1주일 정도.. 바쁘다는 핑계로 너무 게을러 진 것 같아서...다시 매진해 본다.STL의 find_last_of를 착가하고 쓴 적이 있어서 이에 대해서 써보았다. in my wiki: http://alones.byu..
-
Subject: STL - Sequences 컨테이너
Tracked from yundream의 프로그래밍 이야기 2007/05/23 00:58 삭제출처 : Joinc WikiSTL(2) - Seuences 컨테이너윤 상배 dreamyun@yahoo.co.kr 차례1절. Container 에 대해서2절. Sequence 컨테이너2.1절. Sequence 컨테이너란2.1.1절. vector2.1.1.1절. 특징2.1.1.2절. 선언2.1.1.3절. 자주 사용..
-
Subject: Art of Macro
Tracked from Alones world 2007/05/23 01:47 삭제Effective C++ 등의 책이나 여러 글에서는 Macro 사용을 썩 내켜하지 않는다.Readability와 은닉이라는 부분으로 잘 쓰다가도 문제가 발생 (발생하지 않더라도) 디버깅이라도 할 때면 전처리를 직접하..
-
Subject: 실수하기 쉬운 후위형 증감연산자
Tracked from yundream의 프로그래밍 이야기 2007/05/24 19:21 삭제이문서는 수정될 수 있습니다. 최신문서는 Joinc Wiki 에서 확인해주세요.증감연산자가 피연산자에 붙는 위치에 따라서 미묘한 차이가 있을 수 있다는건 알고 있기는 한데, 차이가 미묘하다 보..
-
Subject: 아날로그 시계 (Linux에서의 Frame buffer 사용예제)
Tracked from MINZKN의 블로그 2007/05/25 01:49 삭제Frame buffer의 구조 및 그래픽의 기본적인 각도 계산 및 재귀호출, 베지어곡선의 수학개념을 이해하기 위해서 만들어 본겁니다. lilo.conf 에 "vga=0x0317" 이라는 옵션을 주고 해보세요. 코드: /* Copyrig..
-
Subject: TCP socket - epoll 사용예제
Tracked from MINZKN의 블로그 2007/05/25 01:53 삭제epoll 에 대하여 간단히 구현했던 예제입니다. kernel, libc 가 해당 epoll_create, epoll_wait, epoll_ctl 을 지원해야 합니다. 해당 코드가 실행되지 않거나 컴파일되지 않으면 배포판을 최근것으로 바꾸어 ..
-
Subject: std::list::sort() 사용하기 (VC6.0이 버릇이 없다)
Tracked from Alones world 2007/05/25 02:56 삭제std::list::sort()는 std::list의 element를 정렬할 때 쓰기 유용하며 STL의 template과 재정의를 잘 반영한 api라고 할 수 있을 것이다 (대부분의 STL feature들이 그렇겠지만).아무튼 std::list::sort()에 대해서 작..
-
Subject: 포인터, 그것을 알려주마!
Tracked from 민수의 블로그 2007/05/25 11:34 삭제포인터가 어려운 것이 아니다. C 언어의 배열과 포인터와 관계되는 문법이 혼란하고 있을 뿐이다. http://j2k.naver.com/j2k_frame.php/korean/http://kmaebashi.com/programmer/pointer.html포인터에 관한 아주 좋은 문..
-
Subject: 알고리즘 - Quick Sort
Tracked from yundream의 프로그래밍 이야기 2007/05/26 00:46 삭제최신문서는 Joinc wiki 에서 확인하실 수 있습니다. Quick 정렬은 버블정렬과 함께, 가장 쉽게 응용할 수 있는 정렬기법이다. 평균적으로 O(n log n)번의 비교를 수행하며, 최악의 경우에 O(n^2)의 비교..
-
Subject: std::find 에 대해 정리
Tracked from Alones world 2007/05/26 16:57 삭제algorithm에 있는 std::find에 대해서 정리해보았다.operator==을 재 정의해서 원하는 방법으로 container 내의 element를 찾을 수 있어서 좋은 거 같다.물론 wiki에 정리해두었고 최신 내용은 wiki에서 확인 ..
-
Subject: std::find_if 사용해보기
Tracked from Alones world 2007/05/26 20:52 삭제std::find와 유사한 것 같지만 좀 더 유용하고 확장 성 있게 find할 수 있는 find_if에 대해서 써보았다.최신 내용은 아래 wiki에서 볼 수 있다.in my wiki: http://alones.byus.net/moniwiki/wiki.php/find_if?action=show i..
-
Subject: 비쥬얼하게 이해하는 정렬(Sort) 알고리즘
Tracked from yundream의 프로그래밍 이야기 2007/05/26 22:45 삭제이 문서는 수정될 수 있습니다. 최신 문서는 Joinc Wiki 에서 확인하세요. 정렬과정을 비쥬얼하게 보여줌으로써, 각종 정렬알고리즘을 보다 쉽게 이해할 수 있습니다. Quick Sort 머지소트(:12) Bubble ..
-
Subject: STL - Association 컨테이너
Tracked from yundream의 프로그래밍 이야기 2007/05/29 22:11 삭제글 내용은 수정될 수 있습니다. 최신 내용은 Joinc Wiki에서 확인하세요.STL(2) - Association 컨테이너윤 상배 dreamyun@yahoo.co.kr 차례1절. Association 컨테이너1.1절. Association 컨테이너란?2절. 컨테이너 클..
-
Subject: HTML 태그제거 코드
Tracked from yundream의 프로그래밍 이야기 2007/05/30 23:53 삭제이 문서는 수정될 수 있습니다. 최신 문서는 Joinc Wiki에서 확인하세요. HTML 코드를 제거하는 간단한 코드입니다. <, >사이의 모든 문자를 제거합니다. 만약 #include <stdio.h>이라는 문자열..
-
Subject: overflow를 조심하는 add 함수
Tracked from Alones world 2007/06/01 01:37 삭제어찌보면 너무 간단하지만,장시간을 고민한 (또는 고생 시킨) 단 한줄의 코드도 코드 그 자체만 보면 간단할 수 있을 것이다. ( 이런 이야기 까지할 코드는 아니지만... )하지만 고민과 고생을 ..
-
Subject: 정렬 알고리즘 - bubble sort(버블 소트)
Tracked from yundream의 프로그래밍 이야기 2007/06/01 10:23 삭제이 문서는 수정될 수 있습니다. 최신문서는 Joinc Wiki를 참고하세요.버블 소트는 인접원소를 비교해서 더 큰 원소를 뒤로 보내는 방식을 사용한다. 병 밑바닥에서 생긴 버블이 위로 올라오면서 ..
-
Subject: 파일의 앞부분을 일정크기만큼 삭제하는 예제 (LOG FILE)
Tracked from MINZKN의 블로그 2007/06/01 23:28 삭제reduce_file.tar.bz2이 예제는 파일의 앞부분의 지정한 크기만큼을 삭제하고 그만큼 데이터를 앞으로 당겨주는 것입니다. 즉, LOG파일같은것을 다룰때 파일의 크기가 일정한 크기를 넘어섰을때 어..
-
Subject: 비-표준형식의 문자열을 time_t 로 읽어들이는 간단한 예제
Tracked from MINZKN의 블로그 2007/06/01 23:30 삭제비-표준형식의 문자열을 time_t 로 읽어들이는 방법론을 제시하고자 만들어봤습니다. 일부러 함수원형을 평소에 쓰지 않던 "traditional" 로 문법검사해서 짜봤습니다. 그냥... 코드: /* Copyright (C) In..
-
Subject: CGI programming 예제
Tracked from MINZKN의 블로그 2007/06/01 23:32 삭제mzcgi.tar.bz2CGI 에 관한 여러가지 사항을 예제로 표현해봤습니다. (첨부파일) pipe 관련한 예제는 다음의 링크를 참고하세요. http://minzkn.wowdns.com:2744/phpBB2/viewtopic.php?t=68&highlight=pipe 코드: /* Copyri..
-
Subject: C로 MySQL을 사용하는 예제
Tracked from MINZKN의 블로그 2007/06/01 23:33 삭제mzmysql.tar.bz2__mysql_password__ 는 자신의 MySQL DB 의 root 유저 암호로 편집해야 합니다. 코드: /* Copyright (C) Information Equipment co.,LTD All rights reserved. Code by JaeHyuk Cho <mailto:minzkn@infoeq.com> CVSTAG="$Header$"..
-
Subject: 실체가 없는 구조체 포인터의 사용
Tracked from MINZKN의 블로그 2007/06/01 23:41 삭제일단 아래의 소스를 면밀히 보세요. 과연 이 소스는 정확히 컴파일되고 정확히 실행될까요? 이 예제는 실체가 없는 구조체를 어떻게 사용하는지 예시를 제시한겁니다. kkk_t 라는 구조체의 형..
-
Subject: [C/방법/기초] 2개의 변수를 swap 하기위한 방법론 3가지
Tracked from MINZKN의 블로그 2007/06/01 23:42 삭제방법 #1 (임시저장) 코드: void mzswap_1(int *s_left, int *s_right) { int s_temp; s_temp = *s_left; *s_left = *s_right; *s_right = s_temp; }방법 #2 (덧셈/뺄셈) 코드: void mzswap_2(int *s_left, int *s_right) { *s_left += *s_right; *s_right ..
-
Subject: [C/개념] 선점형 Thread 구현 (제 2차 버젼)
Tracked from MINZKN의 블로그 2007/06/01 23:53 삭제예전에 "link:1차 버젼"으로 이와 비슷한 소스를 올린적이 있습니다. 그러나 꽤 많은 분들이 컴파일 안된다고 그 자체를 이해하지 못하시더군요. 그래서 이번에는 아주 쬐금 소스를 가다듬어서 ..
-
Subject: [C/기초] 함수매크로 사용시 인자가 2번 이상 확장될때 주의사항
Tracked from MINZKN의 블로그 2007/06/01 23:55 삭제보통 아래와 같이 __def_min__ 같이 최소값 구하는 매크로를 꽤 자주 사용합니다. 문제는 아래의 코드가 의도한데로 값을 가질수 있는가 입니다. 보통 이러한 문제는 함수형 매크로를 사용하는데..
-
Subject: [C/기초] Terminal 에서 특정 위치에 특정 문자를 찍고 싶을때
Tracked from MINZKN의 블로그 2007/06/01 23:57 삭제mzs.tar.bz2Terminal 에서 특정위치에 특정 문자를 찍고싶을때 있으시죠? 그에 대한 개념적인 접근을 위한 예제 입니다. mzs.c 코드: /* Copyright (C) Information Equipment co.,LTD All rights reserved. Code by JaeHyuk Cho..
-
Subject: [C] 삼각함수의 (속도)최적화 구현 - sin, cos, tan
Tracked from MINZKN의 블로그 2007/06/02 00:01 삭제math.tar.bz2이 소스는 삼각함수(sin, cos, tan)를 계산에 의해서 구현하는 방법이 아니고 이미 계산된 16bit 고정소숫점 table 을가지고 구현한것입니다. 어쨌건 최적화 속도가 요구되는 실무에 적용하..
-
Subject: [C] CRC16
Tracked from MINZKN의 블로그 2007/06/02 00:04 삭제mzcrc16.tar.bz2CRC16 구현 예제입니다. 근본적으로 CRC32 와 동일하며 크기만 16bit고려하면 CRC16 이 됩니다. 코드: /* Copyright (C) Information Equipment co.,LTD All rights reserved. Code by JaeHyuk Cho <mailto:minzkn@infoeq..
-
Subject: [C/Linux] sigaction 사용예제
Tracked from MINZKN의 블로그 2007/06/02 00:06 삭제mzsigaction.tar.bz2sigaction 사용예제 "signal()" 함수로 사용하면 편리하지만 간혹 세부적인 signal 특성을 제어해야 할 필요성이 있는 경우가 있을겁니다. 그때 sigaction을 많이 사용하게 됩니다. 아래의..
-
Subject: [C] 1년중에 몇번째주인지 계산하는 예제
Tracked from MINZKN의 블로그 2007/06/02 00:07 삭제관련글: http://joinc.co.kr/modules.php?op=modload&name=Forum&file=viewtopic&topic=31448&forum=1 문제점: 한주의 시작을 일요일로 정의할것인지 월요일로 정의할것인지 필요. 코드: #include <stdio.h> #i..
-
Subject: [C/Linux/Termios] RAW keyboard mode 입력처리
Tracked from MINZKN의 블로그 2007/06/02 00:13 삭제mzraw_keyboard.tar.bz2이 예제는 Linux 에서 RAW keyboard 입력처리를 어떻게 할수 있는지를 보여주는 예제입니다. root 권한만이 RAW keyboard 를 소유할수 있기 때문에 root 유저에서 실행하셔야 하며 X윈도..
-
Subject: [C/기초] C언어에서의 inline 함수의 제약조건 몇가지
Tracked from MINZKN의 블로그 2007/06/02 00:14 삭제C언어에서의 inline 함수의 제약조건 몇가지 인용: 1. inline 함수의 재귀적인 호출 불가. 2. 분기관련 명령중에서 일부의 경우 사용할수 없음. (예: switch, goto, for, while등...) 3. static 변수를 사용할수..
-
Subject: [C/기초] C 언어의 loop 구문의 특성에 대한 분석
Tracked from MINZKN의 블로그 2007/06/02 00:15 삭제다음의 for loop 구문은 모두 같은 결과인 3->2->1->0 의 순서로 출력됩니다. 코드: for(s_count = 3;s_count >= 0;s_count--) { (void)fprintf(stdout, "count=%d\n", s_count); } 코드: for(s_count = 3;s_count >= 0;s_count-..
-
Subject: [C/DOS] 화면에 특정 문자를 유지하는 램상주 예제
Tracked from MINZKN의 블로그 2007/06/02 00:20 삭제이것은 우측상단 모퉁이에 특정 문자열을 계속 유지하여 표시하는 작은 램상주 프로그램입니다. 개발환경은 DOS의 TURBO-C v2.0 또는 Borland-C v3.x 입니다. Interrupt vector 0x1c(Timer) 를 가로채어 주기적..
-
Subject: [C/특성] gcc 버젼에 따른 변수 선언위치 최적화
Tracked from MINZKN의 블로그 2007/06/02 00:21 삭제아래의 코드는 C++ 이 아닌 C 컴파일러에서 컴파일이 될까요? 안될까요? 물론 C 규약으로 보면 안될법도 한데 말이죠. 그런데 GCC v3 이상에서는 이것이 컴파일 됩니다. 코드: /* Copyright (C) Informatio..
-
Subject: [C/GNUC] int __builtin_constant_p(x) 을 이용한 최적화
Tracked from MINZKN의 블로그 2007/06/02 00:22 삭제gcc 에서는 "int __builtin_constant_p(x)" 형태의 내장처리함수를 가지고 있습니다. 이것은 특정값의 조건이 상수조건인지 아닌지를 판별합니다. 이것의 응용은 memcpy, memset, strcpy, strncpy 등에서 활용하..
-
Subject: [C/GLIBC] Runtime 환경의 glibc version을 확인하는 예제
Tracked from MINZKN의 블로그 2007/06/02 00:24 삭제glibc version 에 따라서 드물게 일부 호환성에 문제가 있는 경우를 겪어본적이 있을겁니다. build 환경의 glibc version 은 __GNUC__, __GNUC_MINOR__ (uClibc 의 경우는 __UCLIBC_MAJOR__, __UCLIBC_MINOR__, __UCLIBC_SUBLEVEL_..
-
Subject: [C] 심오한 코드 - little/big endian 검출의 또 다른 구현
Tracked from MINZKN의 블로그 2007/06/02 00:26 삭제문득 이것이 상수표현의 적법성을 만족할까라는 의구심에 한번 해봤습니다. 역시 gcc에서는 제가 생각하는것이 올바르게 컴파일 되고 결과가 나오는군요. 하지만 안타깝게도 Visual C++ 에서는 ..
-
Subject: [C/Linux/측정] Linux에서 최대 생성가능한 thread 갯수 측정
Tracked from MINZKN의 블로그 2007/06/02 00:28 삭제thread_max.tar.bz2이 소스는 그냥 Linux 에서 pthread를 이용하였을때 최대 생성가능한 thread 수를 단순한 방법론으로 측정하는겁니다. 제 Desktop PC는 최대 382 개가 나오는군요. (에게~ 요것밖에 안되~? ..
-
Subject: [C/Linux] 디스크 파일시스템 검출 예제
Tracked from MINZKN의 블로그 2007/06/02 00:30 삭제detectfs.tar.bz2Linux 에서 동적 착탈되는 파일시스템을 검출하는 예제입니다. 개념적인 이해만 되면 USB drive 나 Floppy, CDROM 등을 검출하는 프로그램을 작성할수 있겠지요 현재 이 예제는 일단 USB dri..
-
Subject: [C/GNUC] iconv 사용예
Tracked from MINZKN의 블로그 2007/06/02 00:31 삭제mziconv.tar.bz2iconv 의 사용예제 소스입니다. 예전에는 libiconv.so 를 링크해야만 했던 시절이 있었으나 최근 glibc 에서는 iconv library 가 내장되어 좀 편리해졌습니다. 코드: /* Copyright (C) Information Equip..
-
Subject: [C] NSC value decode 예제 코드
Tracked from MINZKN의 블로그 2007/06/02 00:33 삭제간혹 nsc 파일이란것을 접할 기회가 있을겁니다. 근데 그 안에 내용을 보면 이런식으로 암호문처럼 적혀 있을겁니다. 인용: [Address] .... [Description] .... [Formats] .... Description1=02PG000000000KRG1m06K0Pm0q02..
-
Subject: [C/Linux/Trick] Exception alloc - 예외처리 할당
Tracked from MINZKN의 블로그 2007/06/02 00:36 삭제exception_alloc.tar.bz2아래의 예제는 완전한 구현을 위해서는 좀더 보강이 되어야 하지만 개념적인 소개로서는 충분하다고 생각됩니다. 이것이 무엇인고 하면 특정 포인터를 할당하지 않은채 유..
-
Subject: '=' 실수 방지 하기 tip (코드 습관)
Tracked from Alones world 2007/06/03 10:17 삭제실수는 웃고 넘어 갈 수도 있지만 울고 OTL할 수도 있을 것이다.최신 내용은 아래 wiki에서 볼 수 있다. in my wiki: http://alones.byus.net/moniwiki/wiki.php/c_cpp_tips_equal?action=show initial version: 2007.06.03 목차 1 ..
-
Subject: gettimeofday()를 window에서 구현해서 사용하기
Tracked from Alones world 2007/06/03 13:00 삭제getimeofday()를 windows에서도 아래와 같이 구현해서 사용할 수 있고 또 그 것을 이용해서 코드의 수행 시간을 microsecond까지 측정할 수 있다.최신 내용은 아래 wiki를 참조 in my wiki: http://alones.byus.net/..
-
Subject: [C/C++] 전역 변수와 지역 변수 명이 같을 때 전역 변수를 접근하는 방법
Tracked from Alones world 2007/06/05 01:39 삭제고정 관념을 깬다는 것은 미궁을 벗어 날 수도 있고 새로운 세상을 만날 수도 있는 좋은 방법인 것 같다.최신 내용은 아래 위키에서 볼 수 있다. in my wiki: http://alones.byus.net/moniwiki/wiki.php/c_cpp_tip..
-
Subject: 컴퓨터가 32bit인지 64bit 체계인지 알아내는 코드
Tracked from Alones world 2007/06/07 01:18 삭제최신 내용은 아래 wiki에서 볼 수 있다. in my wiki: http://alones.byus.net/moniwiki/wiki.php/c_cpp_tips_32_64?action=show initial version: 2007.06.07 목차 1 주소 크기를 이용하는 방법 2 int의 크기를 이용하는 방법 3 Refer..
-
Subject: [C] mkdir 응용 - sub directory 까지 재귀적으로 만들기
Tracked from MINZKN의 블로그 2007/06/08 13:11 삭제static int _MZ_MakeDirectory(char *s_Path, unsigned long s_Mode, int s_Flag){ int s_Return = (-1); if(s_Flag == 1) { if(mkdir(s_Path, 0777) == 0) { if(chmod(s_Path, s_Mode) == 0)s_Return = 1; else fprintf(stderr, "%s: %s - [ERROR] Can not chmod \"%s\"\n..
-
Subject: 알고리즘 : Merged Sort(합병정렬)
Tracked from yundream의 프로그래밍 이야기 2007/06/11 23:25 삭제이 문서는 수정될 수 있습니다. 최신문서는 Joinc Wiki에서 확인하세요. 합병정렬 (Merged Sort) merged sort 혹은 합병정렬로 불리우는 이 정렬알고리즘은 O(nlogn)의 시간복잡도를 보여주는 정렬 알고리..
-
Subject: '+'나 '-'을 사용하지 않고 큰 수 (음수 포함) 더하기
Tracked from Alones world 2007/06/12 08:09 삭제initial version: 2007.06.12 Vijay Kumar R. Zanvar의 '+'나 '-'을 사용하지 않고 더하기 하기 답변을 참고했다. (원문은 아래 References 참고) 목차 1 '+'이나 '-'을 사용하지 말고 더하기를 해보자 2 작은 것 부터..
-
Subject: ASCII 테이블
Tracked from yundream의 프로그래밍 이야기 2007/06/14 15:22 삭제ASCII 테이블 참고문헌 asciitable::: 스폰서 링크 Joinc TeamBlog리눅스 환경에서의 C 프로그래밍 - 3장 Start Cpthread : 쓰레드 우선순위 문제linux man page : readlink - 심볼릭 링크가 연결되어 있는 원본의 파..
-
Subject: [STL:algorithm] transform
Tracked from Alones world 2007/06/15 02:40 삭제initial version: 2007.06.15 목차 1 Introduction 2 Signature 3 Inside 4 Usgae 5 References 6 See Alos 1 Introduction # STL의 Container (std::list, std::vector, etc)들의 모든 elements를 변환할 때 사용한다 (의미하는 그대로). algorith..
-
Subject: [C] __FUNCTION__ 을 바꾸자.
Tracked from MINZKN의 블로그 2007/06/16 11:13 삭제우리는 보통 다음과 같이 디버깅할때 많이 사용한다.(void)fprintf(stdout, "%s:%s:%d message\n", __FILE__, __FUNCTION__, __LINE__);하지만 아는 사람은 이미 알고 있겠지만 __FUNCTION__ 는 표준에 명시되지 않았다...
-
Subject: [STL-algorithm] std::for_each
Tracked from Alones world 2007/06/16 13:43 삭제initial version: 2007.06.16 목차 1 Introduction 2 Signature 3 Inside 4 Usgae 5 References 6 See Alos 1 Introduction # STL의 container (vector, list, etc)의 각 element를 이용한 작업을 할 때 용이한 std::algorithm의 template function 이..
-
Subject: [C/64bit] 32bit 에서 64bit로 소스호환을 위한 고려사항 정리
Tracked from MINZKN의 블로그 2007/06/16 13:51 삭제이 내용은 제가 기존에 만들었던 여러 소스(mzapi) 들을 64bit 에서 동작하도록 포팅하면서 발생했던 고려사항들을 정리합니다. (최신 내용은 http://minzkn.wowdns.com:2744/phpBB2/viewtopic.php?t=819 에서 확..
-
Subject: [C] gcc에서 구조체의 특정부분을 reserved 로 정의할때
Tracked from MINZKN의 블로그 2007/06/20 17:05 삭제기대하지는 않고 다음과 같이 작성해서 컴파일 해봤습니다.헌데 이게 왠일? 되네...그냥 제 생각을 gcc 가 읽었나봅니다. 참 gcc 는 별걸 다 해놨어...매번 revserved 변수명 정하려고 고민할때는 다..
-
Subject: 현재 컴퓨터 (Machine)가 Little-Endian인지 Big-Endian인지 구분하는 코드
Tracked from Alones world 2007/06/27 19:23 삭제컴퓨터가 리틀 엔디안과 빅 엔디안 중 어느 것을 사용하고 있는지 확인하는 코드입니다.첫 번째 방법은 int 변수에 값을 넣고 변수의 주소를 (char*)로 casting 해서 하위 비트 형으로 만들고 값을 ..
-
Subject: Loop condition에 i!=0을 사용하라
Tracked from Alones world 2007/07/05 09:21 삭제Initial version: 2007.07.05 loop condition에서 i라고 쓰는 것 보다는 i != 0 이라고 쓰는 것이 일부 machine에서 훨씬 더 빠르다고 합니다. 우선 WindowsXP에서 Visual Studio 6.0 으로 다음과 같은 코드를 작성했을 ..
-
Subject: Visual Studio 2005 Pre-build Event/Post-build Event Command Line
Tracked from Alones world 2007/07/12 22:57 삭제Visual Studio 2005의 Pre/Post build Event의 command line에서 사용하는 macro에 대한 MSDN의 표이다. macro 명과 간단한 copy command line도 매 번 copy&paste & edit 를 하다 보니 막상 없으면 web이든 MSDN이든 뒤져..
-
Subject: [STL] 컨테이너 맵 (std::map) 간략 정리와 예제
Tracked from Alones world 2007/07/16 01:55 삭제요즘은 list나 vector도 쓰지만 map도 즐겨 쓰는 편이다. key와 value로 값을 정리하고 빠른 indexing을 위해서라면 STL의 컨터이너 중 map을 가장 먼저 생각해 볼 수 있을 것이다. 아무튼,std::map의 각 membe..
-
Subject: MFC를 이용하지 않고 Win32로 엑셀 (Excel) 자동화(OLE Automation)하기
Tracked from Alones world 2007/07/23 11:11 삭제MFC를 이용해서 Office의 Excel에 대한 자동화 (OLE Automation)을 위한 코드를 자동으로 생성해서 사용하는 것도 간편한 (ㅡㅡ; 간편하진 않지만) 방법이겠지만, 코드 사이즈나 성능, 디버깅 문제 그리..
-
Subject: [Mistakable Codes - #1] writ mode로 열고 read 하기
Tracked from Alones world 2007/08/06 01:19 삭제실수 하기 쉬운 코드에 대해서 생각나는 대로 다뤄보려고 한다.당연한 것이지만 너무 당연해서 찾기 힘든 코드나 경험하지 않으면 찾기 힘든 error 대처 법 이나 bug에 대해서 다뤄 보려고 한다...
-
Subject: [Mistakable Codes - #2] [Mistakable Codes - #1] writ mode로 열고 read 하기
Tracked from Alones world 2007/08/06 01:39 삭제in my wiki: http://alones.byus.net/moniwiki/wiki.php/mistakable_code_open_crazyinitial version: 2007.08.06 목차 1 정상적으로 open했는데 write 시 무엇이 문제인가 2 무리한 open()과 open() 체크 [edit] 1 정상적으로 open했는데..
-
Subject: static member만을 가진 class의 크기는?
Tracked from Alones world 2007/08/22 01:24 삭제최신 글은 wiki에서 볼 수 있습니다.initial version: 2007.08.22 목차 1 빈 껍데기 class의 크기는? (empty class) 2 빈 껍데기를 상속 받은 class의 크기는? 3 가상 함수 (virtual function)을 가지고 있는 class의 크..
-
Subject: 왜 빈 껍데기 클래스 (empty class)의 크기는 하필 1byte일까?
Tracked from Alones world 2007/08/22 23:25 삭제왜 빈 껍데기 클래스 (empty class)의 크기는 하필 1byte일까?"static member만을 가진 class의 크기는?" 포 스트에서 여러 형태의 class의 크기에 대해서 알아보았다. 특히 아래와 같은 빈 껍데기 클래스 (e..
-
Subject: [Mistakable Codes - #3] String constants (e.g. char* pStr = "string")은 constants 이다.
Tracked from Alones world 2007/08/25 15:15 삭제최신 내용은 위키에서 볼 수 있습니다.initial version: 2007.08.25 목차 1 String constants 수정 시도 시 crash 발생 2 원인 및 해결 책 3 유사한 오류를 발생 시 킬 수 있는 코드 - mktemp 4 References [edit] 1 String ..
-
Subject: Hungarian Notation - 헝기리안 표기법
Tracked from RE! hmhm.net (흠흠.넷) 2007/08/29 11:38 삭제헝기리안 표기법 정리 Hungarian Notation Format x_xXxxxxxx 0123456789 0 : 변수의 위치를 지정한다. g(전역변수), m(멤버변수), 없음(지역변수) 1 : 0 위치에 g 나 m 을 지정한 경우 _ 을 기술한다. 2 : 자료형의 ..
-
Subject: STL관련 VC6.0에 비해 VS2005에서 개선된 몇 가지에 대해
Tracked from Alones world 2007/09/02 23:53 삭제최신 내용은 위키에서 볼 수 있습니다.initial version: 2007.09.02 목차 1 Visual Studio 6.0에서의 STL 디버깅의 어려움 2 Visual Studio 2005 (VC8)에서 STL을 위해서 개선된 기능들 2.1 C4786 warning이 사라짐 2.2 디버..
-
Subject: [STL] std::splice() - 컨테이너의 elements 이동시 loop을 사용하지 말자
Tracked from Alones world 2007/09/09 10:49 삭제최신 내용은 위키를 참고initial version: 2007.09.09 목차 1 Introduction 2 Signature 3 Implementation 4 Usage 1: 컨테이너의 모든 elements를 옮기기 5 Usage 2: 컨테이너의 한 element를 옮기기 6 Usage 3: 컨테이너의 일부..
-
Subject: gcc 4.1.X의 extra qualification error - 코드가 무슨 죄란 말인가?
Tracked from Alones world 2007/11/01 10:35 삭제작년 이 맘 때 인 것 같다. 윈도우에서 너무나도 순한 코드가 Linux 컴파일을 만나면서 불만을 토로한다. 포팅의 그런 문제와는 조금 다른 증세를 보이며... 올해도 우연히 유사한 에러를 만나서..
-
Subject: [Tips] Win32 콘솔 애플리케이션에서 MFC class들을 사용하기
Tracked from Alones world 2007/11/22 07:45 삭제이미 잘 알려진 내용이지만 제 블로그의 검색을 위해 짧게 포스팅합니다. Visual Studio 6.0에서 Win32 콘솔 애플리케이션 (Console Application)으로 프로젝트를 만들어 표준 C/C++ 라이브러리를 이용할 때..
-
Subject: [C/WIN32] GetTickCount 의 확장 Performance Counter
Tracked from MINZKN의 블로그 2007/11/26 13:46 삭제GetTickCount 함수는 어떤 상대적 시간의 간격을 측정할때 매우 유용하게 사용됩니다. 대부분 40일정도 이상의 간격을 측정할일이 없어서 유용한 함수이지만 40여일보다 큰 시간 간격을 측정하기..
-
Subject: [ [Mistakable Codes - #4] 연산자 오로딩 시 주의 사항. operator<< operator overloading, error C2666: '<<' : 13 overloads have similar conversions
Tracked from Alones world 2007/12/05 08:06 삭제근래 (약 1주일 동안) 이런저런 결정할 일들과 알아볼 일이 있어서 블로깅을 거의 못했습니다. 아무튼, 오늘은 간과하기 쉬운 실수에 대해서 포스팅을 합니다.(이와 관련되어서는 언제 한 번 ..
-
Subject: [ANSI-C] 배열첨자의 교환법칙
Tracked from MINZKN의 블로그 2008/01/12 13:12 삭제다음과 같이 배열 a가 선언되었을때 5번째 첨자값은 5라는 값을 가지고 있습니다. 이를 참조하기 위해서는 a[5] 와 같이 참조할수 있습니다. 그리고 이것은 *(a + 5)와 동일한 결과가 되는것을 보..
-
Subject: [ANSI-C] 삼중자,이중자 치환
Tracked from MINZKN의 블로그 2008/01/12 13:13 삭제C언어에서는 삼중자(Trigraph sequence) 라는 전처리기보다 우선하는 치환문자셋이 존재합니다. 이는 일부 언어권 문자셋의 경우 C언어의 문자셋을 모두 받아들이지 못하는 경우가 있기 때문입니..
-
Subject: [ANSI-C] 전처리기 조건문에서의 정의되지 않은 명칭의 가정
Tracked from MINZKN의 블로그 2008/01/12 13:13 삭제우선 #undef 의 경우 이미 정의되지 않은 매크로를 #undef 하여도 이는 적법합니다. 즉, 다음과 같이 이미 undefine 한 매크로를 반복적으로 undefine 하여도 틀린구문이 아닙니다. 코드: #undef my_func #und..
-
Subject: [ANSI-C] 매크로치환에 의한 토큰화와 2중확장 금지조건
Tracked from MINZKN의 블로그 2008/01/12 13:13 삭제다음의 매크로 치환은 토큰화 되어 my_func 매크로는 적법한 토큰인 my_f 로 치환됨을 보장합니다. 코드: #define my_func_macro(m_prefix,m_name) m_prefix ## m_name #define my_func(m_name) my_func_macro(my_,m_name) void my_f(..
-
Subject: [ANSI-C] #include 구문과 매크로치환의 적법성
Tracked from MINZKN의 블로그 2008/01/12 13:13 삭제다음과 같은 코드는 적법한 코드임이 ANSI-C 에 명시되어 있습니다. 의외로 유용한 경우가 있더군요. 코드: #define my_header(m_name) #m_name #include my_header(stdio.h) 반드시 매크로는 #include 구문에서 치환..
-
Subject: [MaskFilter] MPEG TS SectionFilter 의 Positive&Negative mask
Tracked from MINZKN의 블로그 2008/02/05 09:48 삭제MPEG TS 의 SectionFilter 를 구현하는데 있어서Positive&Negative mask filter 알고리즘으로 적절한 H/W 적인 Filter와 유사한 동작을 구현할수 있게 됩니다.여기서 Positive mask 는 주어진 data 와 mask 값을 AND..
-
Subject: [C/i18n] charset이 EUCKR으로된 파일명/디렉토리명을 UTF-8 로 변경하는 프로그램
Tracked from MINZKN의 블로그 2008/02/13 16:34 삭제nameconv.tar.bz2본 소스는 임의 유포시에는 반드시 아래의 내용과 함께 배포할것을 유념해주세요. (잘못된 사용으로 사용자의 데이터가 유실되는것을 방지하기 위해서)본 프로그램의 최근 내용..
-
Subject: [ASM] cmp, sub, add 에 대한 고찰 (Carry flag 관계)
Tracked from MINZKN의 블로그 2008/02/14 00:24 삭제이 글의 내용은 IRC의 #joinc 채널에서 "트기" 님의 질문에서 비롯되어 작성되었습니다.트기님의 질문내용은 다음과 같습니다. Quote: cmp 명령은 sub 명령과 거의 흡사하고 차이점이라면 cmp는 목적..
-
Subject: 최신 C++ 표준 Draft version (2007.10.22)과 몇 가지 References
Tracked from Alones world 2008/02/21 22:35 삭제JTC1/SC22/WG21 - The C++ Standard Committee 에 있는 것들 중심으로 표준과 몇 가지 Technical Report들의 References를 정리해봤습니다. 워킹 그룹의 사이트를 이리 저리 돌아다니면 읽을 것들이 너무 많은 것 ..
-
Subject: STL (Standard Template Library)에 대한 MSDN Reference
Tracked from Alones world 2008/02/21 22:35 삭제STL은 C++에게 Java와 같은 편리성을 제공해준다 (수많은 container와 algorithm). 하지만 STL의 철학을 알고 제대로 사용하기는 쉽지 않은 것 같다. 특히, STL 표준은 있지만 Vendor마다 조금씩 틀리게 구..
-
Subject: VS2005에서 reverse_iterator::base()의 C++ 표준 어김 예상
Tracked from Alones world 2008/02/23 15:17 삭제함수에서 반환하는 값을 바로 변경할 수 없는 것은 C++ 표준이다. 즉 다음과 같은 코드는 함수 호출이 l-value이기 때문에 컴파일 할 수 없다고 나온다 (VC6.0, VC8.0 - VS2005 동일)즉, 아래와 같은 컴..
-
Subject: [C++ STL] reverse_iterator에서 iterator로 변환을 위한 base 사용 시 주의 사항
Tracked from Alones world 2008/02/24 18:17 삭제STL 컨테이너를 역으로 순회하기 위해 reverse_iterator를 사용하고 있던 도중 다음과 같은 상황을 만나 iterator로 변경을 해야 하는 경우가 있다. 순 방향으로 순회하기 위해 reverse_iterator를 인자로 ..
-
Subject: [VS2005] error C4335: Mac file format detected 에러에 대해
Tracked from Alones world 2008/03/23 15:28 삭제VS2005이 너무 예민할 것인가? 아니면 (최소한) windows만을 쓰라고 강요하고 싶은 것일까?컴파일을 하다 만나게 되는 조금은 당황스러운 다음 에러를 보자.error C4335: Mac file format detected[MSDN]에서 ..
-
Subject: VS2005 솔루션을 릴리즈하거나 SCM으로 관리할 때 지워도 되는 파일들
Tracked from Alones world 2008/03/23 15:29 삭제Visual C++ 6.0에서 *.ncb, *.opt 파일 등을 Clear Case에 올렸다가 (Add to Source Control) 프로젝트를 열 때 마다 check-out 을 해 귀찮았던 경험을 누구나 한 번쯤을 해봤을 것이다.이와 마찬가지로 VS 2005의 solu..
-
Subject: C,Perl만 믿고가자구요.
Tracked from yundream의 프로그래밍 이야기 2008/04/12 15:42 삭제http://www.indeed.com 의 jobtrend 서비스를 이용한, 언어/플랫폼별 구인 트랜드 현황입니다. 우리나라의 상황과는 차이가 있을 수 있으니, 그냥 참고삼아서 보면될듯 합니다. 일단 스크립팅 언어입니..
-
Subject: C++ 클래스의 동적적재
Tracked from yundream의 프로그래밍 이야기 2008/05/19 16:46 삭제1 이유 다양한 애플리케이션에 사용가능한 로그분석 프로그램을 만들려고 한다. 이러한 프로그램의 경우 어떤 애플리케이션에서 사용할지 알 수 없기 때문에, 원본소스에는 수정할 필요 없이..
-
Subject: C++에서의 class와 struct의 차이는? 단 한가지?
Tracked from Alones world 2008/06/26 23:06 삭제누가 struct에서 class처럼 생성자나 연산자 재정의를 하는 것이나 member function을 정의할 수 있느냐라고 질문을 했다. struct에서 생성자나 연산자 재정의는 자주 사용했지만, member function이라는 부..
-
Subject: VS2005에서 (C#) 디버깅 시 "잘 못된 바인딩 핸들입니다"라는 메시지로 디버깅이 안될 때는 터미널 서비스를 시작
Tracked from Alones world 2008/09/20 12:06 삭제간단히 C#으로 할 것이 있어서 디버깅을 하려는데, (분명 예전엔 잘 되었는데)아래와 같은 메시지가 출력되었다."디버깅을 시작할 수 없습니다. 잘못된 바인딩 핸들입니다"머가 잘 못 된 것인..
-
Subject: [C#] C#에서 문자열 앞에 '@' 을 붙이는 것
Tracked from Alones world 2008/09/20 14:12 삭제C#에서는 다음과 같이 문자열 앞에 '@'을 붙일 수 있다.(Objective C의 문자열 처리와 같이 C#에서도 '@'을 사용할 수 있다) string str = @"this is a string"; Console.WriteLine(str); 위와 같은 코드에서는 문자열 ..
-
Subject: [C#] 공부하기도 좋고 참고 하기 좋은 C# 관련 MSDN 간단 정리
Tracked from Alones world 2008/09/20 14:17 삭제아래 세 개의 MSDN 링크 정도만 있어도 참 편한 것 같다.1. C# Language SpecificationC#에 관한 왠만한 프로그래밍 책 보다 괜찮은 것 같다.2. .NET Framework Class Library (MSDN)C# 뿐만 아니라 .NET 기반의 언어..
-
Subject: 디자인 패턴 - Adapter pattern
Tracked from yundream의 프로그래밍 이야기 2008/12/03 14:09 삭제Adapter pattern 인터페이스가 일치하지 않는 클래스를 함께 운용해야 하는 경우에 사용할 수 있다. 비교적 간단한 패턴으로 각각의 class를 수정하지 않고 함께 운용할 수 있도록 해준다. 이 패턴..
'Unix C C++' 카테고리의 다른 글
GDB를 이용한 디버깅 (0) | 2012.01.20 |
---|---|
소켓통신 기본예제 서버 select 사용 (0) | 2011.11.24 |
[링크] 파일 옵샛 (0) | 2011.11.02 |
C 사용자를 위한 C++ (0) | 2011.10.16 |
C++ Programming HOW-TO (0) | 2011.10.16 |