프로그램 사용/gcc2009. 5. 28. 23:06
오늘 희한한 switch - case문을 들었다

case 1 ... 10:

이런식으로 기존에는
case 1:
case 2:
...
case 9:
case 10:
이라고 쓰던것을 줄여 쓸수 있다고 한다.

검색을 해보니 c#과 gcc에서 지원하고 C99 등에는 검색이 걸려 나오지 않는다.
정체가 머냐?


[링크 : http://www.devnewsgroups.net/group/microsoft.public.dotnet.framework/topic62939.aspx]
[링크 : http://www.devhood.com/messages/message_view-2.aspx?thread_id=13708]
Posted by 구차니
Programming/C Win32 MFC2009. 5. 28. 21:49
일반적으로 사용하는 구조체 초기화 방법은 아래와 같다.
struct address {
                 int street_no;
                 char *street_name;
                 char *city;
                 char *prov;
                 char *postal_code;
               };

struct address temp_address =
               { 0,
                 "st. green",
                 "Hamilton",
                 "Ontario",
                 "123-456");

위의 방법은 C89 의 방법이고
C99에서는 아래와 같이 특정변수만 제한적으로 초기화가 가능하다.

struct address {
                 int street_no;
                 char *street_name;
                 char *city;
                 char *prov;
                 char *postal_code;
               };

struct address temp_address =
{ .city = "Hamilton", .prov = "Ontario" };


[링크 : http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic]
Posted by 구차니
노트북에서 테스트한 SSH + Cygwin/X + VNC 조합은 이상없이 작동하는데..
SSH + Xming + VNC 조합은 VNC가 먹통이 된다..


머가 문제일까?



일단은 VNC는 몇번에 할지 방법이 없으니..
Xming을 localhost:1로 하고 실행하니 이상없이 잘된다..
세션 번호 충돌인가?
Posted by 구차니

얼마전 피싱의 여파로 이런게 뜨는데..
문득 "명박이때문에!" 라고 외쳤다가 벌금 7만원 받는다는 뉴스를 보니...

이런게 나중에 뜨지 않을까 라는 불안감마저 든다


Posted by 구차니
Linux2009. 5. 28. 15:12
frhed에 너무 편해져 있어서인지.. 막상 리눅스에서 헥사 편집을 하려니 막막하다
아무튼 검색을 해보니

vi를 헥사편집기로 전환할수도 있고
:%!xxd       << hex 모드로
:%!xxd -r     << hex 모드에서 빠져나옴

[링크 : http://mwultong.blogspot.com/2007/08/vim-vi-hex-viewer-hex-editor-xxd.html]

heme라는 헥사편집기도 있는데 pctools 느낌이 난다.



[heme : http://heme.sourceforge.net/]
[발견 : http://coffeenix.net/board_view.php?bd_code=1340]
Posted by 구차니
Linux2009. 5. 28. 15:06


위의 사진은 공식 페이지에서 슬쩍..
그런데 어디서 많이 보던 디자인이다 싶긴한데.. frhex보단 조금 불편할 것 같기도 하고..
아무튼.. 서버도 ubuntu로 바꾸어 버릴까 고민이 드는 하루다.




[링크 : http://live.gnome.org/Ghex]
[링크 : http://ftp.gnome.org/pub/GNOME/sources/ghex/2.24/]
Posted by 구차니
자살이 아니라고 국민들이 대부분 믿고 싶어 하는 상황에서
노무현 전 대통령의 영부인 마저도 입을 다물고 있는건...

혹시 집안을 몰살 시키겠다는 협박을 당하고 있어서는 아닐까?
Posted by 구차니
embeded/AVR (ATmega,ATtiny)2009. 5. 27. 22:41
ubuntu에는
/dev/paraport0 가 아닌
/dev/parport0 로 장치명이 되어 있었다.



그리고 그냥 패널에서 실행할경우 일반 사용자 모드로 구동이 되므로
아래와 같이 device를 열 수 없다는 에러가 발생한다.

패널에서 실행방법을 변경하거나
아니면 콘솔에서
$ sudo gnome-avrdude &
로 실행을 하면 해결이 된다.



패러럴로 사용시 stk200으로 프로그래머를 설정해주면
ATMega128을 패러럴로 읽을 수 있다.
Posted by 구차니
프로그램 사용/libjpeg2009. 5. 27. 19:29
libjpeg는 말그대로 jpeg을 위한 라이브러리이다.

이 녀석으로 할 수 있는 것은,
일정 사이즈로 resize(리사이즈) 혹은 scale/scaling(스케일링) 하는 것과
jpg를 bmp로 변환하는 것이다. djpeg를 보면 다른 bmp 포맷으로도 변환이 가능하지만,
윈도우 기반의 Bitmap으로만 할줄을 알아서..(헤더만 차이가 있을려나..)

아무튼 자세한 내용은 libjpeg에 들어있는 libjpeg.doc 을 참조 하면 되지만
한가지 애매한 부분이 있어 추가를 한다.

jpeg_read_header(&cinfo, TRUE);

이부분은 말그대로 jpeg 파일의 크기등의 각종 정보를 불러온다.
그리고 그 정보를 바탕으로 scaling을 준비한다. 그리고 나서

jpeg_start_decompress(&cinfo);

위의 함수를 호출하여(정확하게는 매크로) jpeg 을 bitmap으로 변환한다.
아래는 변환 부분의 소스코드이며,

cinfo.scale_num = 1;
cinfo.scale_denom = 8;

부분의 값으로 인해서 1/8 크기로 축소되어 변형된다.
(이로인해 preview 시에 상당히 빠르게 볼 수 있다. 그리고 jpeg6b 버전의 최대값이 1/8 이다)
	struct jpeg_decompress_struct cinfo;
	struct jpeg_error_mgr jerr;
	FILE * infile;
	unsigned char *data_ori = NULL;
	unsigned char *data = NULL;
	int		calc_width;

	cinfo.err = jpeg_std_error(&jerr);
	jpeg_create_decompress(&cinfo);
		jpeg_stdio_src(&cinfo, infile);
		jpeg_read_header(&cinfo, TRUE);
			cinfo.scale_num = 1;
			cinfo.scale_denom = 8;
		jpeg_start_decompress(&cinfo);
			calc_width = (cinfo.output_width * cinfo.jpeg_color_space + 3) / 4 * 4;
			data = data_ori = malloc(calc_width * cinfo.output_height);
			if(data == NULL)
			{
				jpeg_finish_decompress(&cinfo);
				jpeg_destroy_compress(&cinfo);

				fclose(infile);
				return FALSE;
			}

		while (cinfo.output_scanline < cinfo.output_height)
		{
			jpeg_read_scanlines(&cinfo, &data, 1);
			data += calc_width;
		}

		jpeg_finish_decompress(&cinfo);
	jpeg_destroy_compress(&cinfo);

fclose(infile); free(data_ori);

calc_width = (cinfo.output_width * cinfo.jpeg_color_space + 3) / 4 * 4;

이 부분은 bitmap특성상 4byte align이 되어야 하므로, 4바이트 단위로 끊어주는 계산을 해준다.
아래의 data += calc_width; 에서 사용된다.
Posted by 구차니
한번 청와대 게시판에 화장반대한다고 일단 확실한 부검후 화장을 하던 매장을 하던
미라로 만들던 하자고 글을 쓰러 갔더니...


뭥미?
글쓰기를 누르니...

※ 클릭하는 곳 아닙니다 -ㅁ-!

그리고 바로 넘어가는 회원가입 페이지


대한민국 국민이긴하지만, 강제적으로 가입해야지 글을 쓸수 있고
인증도 거친다면, 그냥 글 쓸때 주민등록 번호를 쓰게 하거나 익명을 가능하도록 해야 하는거 아닌가?


어우 욕안하고 살려고 했는데 욕이 아주 셋트로 나오게 하네 ㄱ-

아무튼 참고 참고 참아서 계속 진행을 했다.


아이디도 이렇게 까지 제한을 하다니 ㄱ-
암호도 아니고 무슨 아이디에 영문+숫자 조합을 강제한단 말인가?


울화통이 터져 다음 청와대 블로그를 가보았다.


장난해?
Posted by 구차니