C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[59836] Re:소스 좀 봐주세요~
장성호 [nasilso] 759 읽음    2010-01-20 10:57
음..
다른것은  잘모르겠구요

한가지 문제가 있는데..

unsigned char *BMP 의 size를 구한 부분에 문제가 있습니다.
코드의 의도를 볼때 BMP변수에 할당된 크기를 구하려고 하는것 같은데
아래 코드는 그냥 포인터변수의 크기 입니다.

win32시스템에서는 모든 포인터의 크기는 4Byte입니다.

void GLCD_BMP(int page, int column, const unsigned char *BMP) 
{ 
    unsigned int i, k=0; 
    
    GLCD_xy(page,column); 
    GLCD_xy_row(xcharacter,ycharacter,0); 
    
    i= sizeof(bmp)/sizeof(bmp[0]); 
    // sizeof(bmp) 는 항상 4가 됨
    // sizeof(bmp) 는  BMP에 할당된 size를 구하는것이 아니라 
    // BMP변수의 size 즉 포인터의 size임 
    // win32 시스템에서 모든 포인터의 size는 4Byte임

    while(k <= i) 
    { 
        disp_write(BMP[k]); 
        k++;    
    } 
} 



그럼..


김민조 님이 쓰신 글 :
: void GLCD_BMP(int page, int column, const unsigned char *BMP)
: {
:     unsigned int i, k=0;
:    
:     GLCD_xy(page,column);
:     GLCD_xy_row(xcharacter,ycharacter,0);
:     i= sizeof(bmp)/sizeof(bmp[0]);
:
:     while(k <= i)
:     {
:         disp_write(BMP[k]);
:         k++;   
:     }
: }
:
: 이런식으로 하면 LCD에 BMP가 제대로 뿌려질까요?
: bmp는 코드변환프로그램을 이용해서 사용했고요.
: GLCD_xy_row()에서 x 어드레스와 y어드레스를 설정한다음
: BMP배열의 값을 뿌려주는 형식으로 짠 건데 지금 학교가 아니라서 구동이 되는지 확인을 못하겠네요~
: 고수님들의 의견을 듣고 싶습니다.

+ -

관련 글 리스트
59835 소스 좀 봐주세요~ 김민조 846 2010/01/20
59836     Re:소스 좀 봐주세요~ 장성호 759 2010/01/20
59837         Re:Re:소스 좀 봐주세요~ 김민조 764 2010/01/20
59838             Re:Re:Re:소스 좀 봐주세요~ 장성호 846 2010/01/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.