'Programming'에 해당되는 글 58건

  1. 2009.06.22 주의력 부족 2
  2. 2009.04.26 리눅스용 한글2008 체험판 크랙하기 26
  3. 2009.02.02 복잡한 프로그래밍 8
  4. 2009.01.26 nasm include
  5. 2008.09.06 지금에서야 막 방금짠 시간표!!! 10

주의력 부족

아아. 전 역시

"여러개 있는거 중에서 다른거 찾기 같은거" 정말 못하는거 같습니다

특히 "물건찾기" 같은건 진짜 못합니다.

내가 어디두고 왔는지도 모르겠고, 찾지도 못하겠고...

몇일동안 애를 먹인게 있었습니다.

단어에다가 별표의 위치를 랜덤으로 찍는 그런 함수를 만들고 있었는데, 그렇게 하기 위해서는

랜덤한 숫자들을 가변배열에다가 저장할필요가 있어서 따로 메모리 할당을 받았더랍니다

그런데 이상하게 이게 프로그램이 돌다보면 갑자기 죽어버리는 현상이 생기는겁니다

위치도 딱 거기라고 찍을수가 없을정도로 가변적이였어요.

어쩃던 브레이크 포인터를 건 다음에 벅으를 잡으려고 삽질 ㅋ...

<ERROR>
    int *random_value,
        i,
        j,
        hidden_number_cnt    = -1,
        word_len            = -1;

    wchar_t *word_cp = (wchar_t*)0x0011;

    if((word_len = wcslen(word)) <= 0)
        return NULL;

    if((word_cp = wcsdup(word)) == NULL) // 쳐 죽는 위치 여기서 브레이크 포인터 증발 (합수종료)
        return NULL;                                   // 여기도 브포를 걸었지만 여기 안걸림, 즉 wcsdup에서 GG

    // 단어가 3이하일때 체크해줄것(무시한다던가) - 이함수 call한데서
    if(word_len < 4)
        hidden_number_cnt = 1;
        //return NULL;
    else if(word_len == 4 || word_len <= 5)
        hidden_number_cnt = 2;
    else if(word_len == 6 || word_len == 7)
        hidden_number_cnt = 3;
    else if(word_len >= 8 && word_len <= 10)
        hidden_number_cnt = 4;
    else if(word_len > 10)
        hidden_number_cnt = 5;  

    // windows에서는 가변배열 설정이 안되니 이렇게 하자
    if((random_value = (int*)calloc(hidden_number_cnt,sizeof(wchar_t))) == NULL)
        return NULL;

저기서 갑자기 주거 버리니깐 어어어 왜그런거얌. ㅜㅜ

이러고 위에 wcslen, wcsdup 함수 부분만 눈에 불을 켜고 찾아보았습니다

혹시해서 인자들 다 념어온거(리스트로 생성한) 틀렸나 확인을 해보았는데...... "다 맞 잖 아 !!!"

아 정말 저기서 저것만 미친듯이 보고보고보고보고 또 봐도 안되길래

미친듯이 여기 저기 주석을 쳐가면서 범위줄이기를 한결과

......
    for(i = 0;i < hidden_number_cnt ;i ++){
            //random_value[i] = rand() % word_len;   // 넌 꺼지고
            random_value[0] = rand() % word_len;     // 얘로 하니깐
......

아래 내용을 조금 바꾸니깐 잘되는겁니다!! (여기서 잘된다 == 안죽는다!)

그래서 오오오 여기가 "에 러 위 치 구 나 ㅋ" 했더니만...

또 아~무리 봐도 여기서 죽을 이유가 없어요 단지 i를 0으로 바꾼거 뿐이라니까?

hidden_number_cnt 변수가 이상한값 들어갔나 봐도 뭐 (당연히) 정상이고..

아놔 뭥미하다가 아까꺼 다시보니....

어?

<OK>
    // windows에서는 가변배열 설정이 안되니 이렇게 하자
    if((random_value = (int*)calloc(hidden_number_cnt,sizeof(int))) == NULL)
        return NULL;

우왕ㅋ wchar_t 라고 적어왔엉... int인데... int인데.. int인데...

저거 고치니깐 조난 잘돌아가네여 ㅜㅜ x 100

단 "한 단어" 차이인데 ㅜㅜ...

*오늘의 교훈*

1 디버거를 넘 믿지 말자.
- 특히 디버깅 위치에 너무 연연하지 말자 솔까말 저 디버깅 정보로 원래 문제가 된 부분을 절대 찾을수가 없엉ㅋ.

2 예측하지못한 에러(갑자기 사망!) 하는 경우는, 거의 100%에 가깝게,
잘못된 메모리 참조가 그 원인이다.

- 물론 (*) 참조 말고 전체적인 참조를 다 말하는거...(위에 경우에는 타입이 문제였죠)
그러고 보니 calloc에 강제로 타입케스팅을 해줬으니 컴파일러도 눈치 못챘겠네 ㅜㅜ

3 삽질엔 장사없다

교훈을 쓰자마자 동시에 난 자괴감에 빠짐.......

우어어어어엉? 저딴걸 내가 몇일씩 붙잡고 있었단 말이야?  이함수 60줄 정도 밖에 안

되는데 겨우 저걸로? 저걸로? 그럴리겅ㅄ엉ㄴ리ㅏㅁ나ㅣ루나ㅣㅇ라ㅣ

'Programming > C' 카테고리의 다른 글

오늘도 실수.. iconv  (0) 2010.06.24
아아 또 실수~!  (4) 2009.06.22
이진트리를 만들고나서....아 망했어요...  (2) 2009.05.25
리눅스용 한글2008 체험판 크랙하기  (26) 2009.04.26
이거 왜이래~!  (6) 2009.04.02

리눅스용 한글2008 체험판 크랙하기



결과..........(귀차나서 걍 전체화면 올림)
사용자 삽입 이미지

일단 그래도 연구용(??) 이고...

어짜피 한글 체험판은 기능이 제한적 이라...

기껏해야 날짜 제한 밖에 없어서(??) 공개해 놨긴한데...

그래도 문제된다고 하면 댓글 남겨주세요..

뒷부분을 더 보여달라는 댓글에 대해서는 더이상 따로 답글을 달아드리지 않겠습니다;;

죄송합니다;;

복잡한 프로그래밍

이라고 해봤자 스크립트지만...c로 할때도 마찬가지,

계속 하다보면

예외 처리할건 정말 산더미처럼 불어나고

범위는 커지고

덕분에 기능은 바뀌는 동시에 추가가 되며,

쉘에 대해서 점차 배우면서 더 새롭고 편한 기능을 알아내고 (쉘은 명령어별로 옵션 알아야하니...)

그래서 더 알아보기 쉽게 소스 뒤집고........... (기껏 몇십줄짜논거 몇줄이면 되는거고.........)

(개인적으로 임베디드 같이 성능이 특히 중요하게 여겨지지 않을때는 가독성이 제일 중요하다고 생각 (코딩할때는))

더더욱 그래서 공통되는 부분 나누는것이 난해해지는 바람에 함수의 추가 삭제가 빈번해지고

함수랑 변수 이름도 막 일관성이 없이 바뀌고.........

그냥 막 짠다고 하면 해버릴수 있는데 좀더 "우아한" 방법을 찾기위해 고민..........  하다가 시간 다 날리고..

대체 언제가 되어야 "주제 하나 딱 떨어지면"
어느 어느부분은 어떻게 해서 자주쓰이니까 이걸

1 이런 모듈(코딩레벨로 범위를 줄이자면 함수)로 사용하고,
2 각 함수에 입력되는 아규먼트가 어떤것이며
3 이 함수가 어떤 과정을 거쳐서 (어떤 자료구조나, 알고리즘을 사용할지)
4 원하는 결과값(리턴값) 을 얻어낼수  있는가?
5 적재적소에 배치

에 대한 전체 설계를 한번에 할수 있는것일까????

내가 보통 플밍해봤자 좀 많아야 기껏해야 천줄인데..(소스 다!! 주석합쳐서!! )

요구사항 문서 만들고  UML 다이어그램 그려가면서 하자니 별것도 아닌데 다이어 그램 그리는거 같고

안하자니 시간 미친듯이 오래걸리고 ㅡㅡ.. 대체 이거짜는데 몇일이 걸리는건지.........

하아,,, 이런건 그냥 짬밥먹으면(?) 자동으로 되나........

'Programming' 카테고리의 다른 글

이래서 일괄변환을 하면 안된다  (2) 2009.04.13
비주얼 스튜디오 2008 에러  (3) 2009.04.09
nasm include  (0) 2009.01.26
qt, arm 보드에 포팅방법  (6) 2008.12.05
쉘스크립트 하는데  (7) 2008.02.04

nasm include

nasm include파일

nasm -I directory/ -o output.input.asm

directory 하고 '/'를 붙여아 된다

아놔 저거 안하니까 include가 제대로 안된다

gcc도 저렇게 슬레쉬 써야했나??

그냥 디렉토리만 적어주면 되는거 아냐??

걍쓸대없는거라고 한줄씩 끄적거려야지 이거원 잠수 블로그 되겟다는 ㅜㅜ

'Programming' 카테고리의 다른 글

비주얼 스튜디오 2008 에러  (3) 2009.04.09
복잡한 프로그래밍  (8) 2009.02.02
qt, arm 보드에 포팅방법  (6) 2008.12.05
쉘스크립트 하는데  (7) 2008.02.04
간만에 포스팅.. 소스 고치기!  (2) 2007.10.17

지금에서야 막 방금짠 시간표!!!

뭐 큰 일은 아니지만

그래도 글을 좀 써보는게 나을거 같아서..........

사용자 삽입 이미지

과목평

1, 1교시는 다 없네여 짜놓고 보니... 뭐 출퇴근길에 차막히는 일은 없어서 다행 ㅋ

2, 알고리즘은 듣기 싫은데... 안하기도 뭐해서 그냥 넣어버림 ㅜㅜ 방고리즘(?) 아닌게 다행

3, 객체지향 만만하게 봤다가 망한듯해염 첫날부터 플로챠트100개 크리 ㅜㅜ

4, 자바 - 뭐 어떻게든 되겠......;

5 컴퓨터 네트워크 - 데이터 구조보단 낫겟........;

다행이 교수님은 수업은 그리 졸린것 같진 않던데..... 과목이 재미없다면.;;

6 임베디드 = 마이크로 설계 + 운영체제 실무 - (???)

7, 운영체제실무!! 드디어 리눅스에서 C언어 플밍한걸 써먹을수 있는 기회가...!

워 사실은 유닉스 프로그램이고 책은
UNIX Systems Programming 상세보기
Robbins 지음 | Prentice-Hall 펴냄
수많은 연습문제와 예제, 프로젝트를 통해 UNIX의 이론을 체험하자!!! UNIX 프로세스, 파일 그리고 특수 파일 시그널과 타이머 POSIX 쓰레드, 세마포어와 IPC TCP, UDP, 멀티캐스트와 웹프로젝트 : 인터넷 라디오...
요고로써 영통도서관에서 몇번 빌려 봤던책입니다


왜냐하면 Beginning Linux Programming 이 내용이 좀 부실하거든요...
BEGINNING LINUX PROGRAMMING 3/E 상세보기
RICHARD STONES 외 지음 | 정보문화사 펴냄
기본적인 파일 동작,입력과 출력 그리고 유닉스에서 데이터를 다루는 방법, 프로세스간 통신,네트웍크,웹 인터페이스를 구성하기 위해 CGI스크립트 기능을 사용하는 등 클라이언트-서버 프로그래밍의...

시그널이나 이쪽 부분이(mpd타이머 관련 구현 할려니깐 없어서리)

아 그리고 이거(BLP)  서점에서 보니까 3판도 찍혀나왔더군요 ㅋㅋ

커널부분은 인기가 없었는지 아예 없어졌고 ㅋㅋ

다행이 GTK,QT는 아직 붙어있음.. 나머지는 전판과 다 같은듯


안그래도 잇었으면 좋겠다고(USP) 생각은 했는데 잘됬네요...

내용은 좀 복잡하게 나옵니다

솔직히 이책 자체는 좋은 편이지만

입문용(처음) 시작하기에는 그리 적당한 책은 아니라고 생각하지만뭐

내가 무슨 능력이 있나;

(사실 유닉스 플밍분야의 최고의 책은 역시 APUE! 그러나 변역본보면 안습이......)

아 이거 나오고 나니깐 뿌리뤡에서 나온 QT책도 생각나는군여..
QT PROGRAMMING 상세보기
서영진 지음 | 프리렉 펴냄
이 책은 Qt 프로그래밍에서부터 Qtopia 프로그래밍의 영역까지 다루고 있다. 리눅스, MS...임베디드용으로 Qt프로그램을 작성해서 실행하는 것, Qt의 개발 도구들을 이용해서 Qt 프로그래밍을 해보는 과정 등을...
= 이책 나오려고 대체 몇년이나 끌었는지!
=사고싶다! 근데 사봣자 또 쌓아놓고 몇년있다 공부할거 같아요 전 맨날 이럼;

안그래도 이과목 마지막에 QT플밍도 해야하는데..........(내가왜 Gtk로 시작했는지 ㅜㅜ)

아 이제 그만.. 이러다가 시간표가 아니라

책소개하는 포스팅이 되버릴라...

그리고 의외로 이과목 수강신청을 안해데요? 4개있는데 무려 2개가 폐강 -_-

인원수도 별로 없고.. 얘들이 플밍수업은 다 기피하는듯???

근데 이것도 만만하게 봤다가 망하는거아닐까하는 약간 불길한 에감이 유유...

나 쓰래드 잘 못하는데..... 그냥 API만 써대면 대낭??;

마지막으로, 교양!

이거 할말이 많아염...

앞에서도 적었지만 운영체제 실무과목이 폐강이되는 바람에..

교양 시간표가 싹바끼게 되었는데..

SDU(인강) -> 과목이 그지같음....
 
1 인강인데도 오프수업도 있고

2 온라인으로 자짜서 오프라인으로 조원끼리 만나야 대며

3 책배끼기도 있고 (필사하기)

4 토론 점수라는 이상한게 있어가지고 개시판에 글도 써야하고

5 조원 점수매기는거 비슷하게 있어가지고 그거 점수 잘 안나오면 학점이 그지

차라리 이럴바에 그냥 학교 수업을 듣고 말겠삼

해서 어제부터 엄청 교양과목을 바꾸기 시작했는데...........

초반엔 한문,한국경제학,공학과 경제 이런 심오한 과목 -_- 을 했지만

다행히도 F5신공으로 2시간전에 가까스로 저 시간표를 완성!

(이번 24시끼지가 마감이니까요)

그래도 정해진 시간표의 교양고목이 "심오한" 과목보다는 휄씬 나으니까 다행!


-덧 그러고 보니 놋북 리뷰를 안했군여.....

꾸린 폰카로 사진은 다 찍어서 하드에 저장해놨는데.........

과제땜에..........

플로차트 100개 그린다음에 포스팅을 하겠 ㅜㅜ

'Etc' 카테고리의 다른 글

공유기 문제  (10) 2008.09.28
음...  (3) 2008.09.27
결국이걸로 낙점..  (13) 2008.08.18
일상  (0) 2008.08.12
놋북을 살려고 하는데 추천좀,,,  (10) 2008.07.31
prev 1 2 3 4 5 6 7 8 ··· 12 next