__attribute__ ((packed)) : 구조체 내의 최대 사이즈 데이터 타입으로 alignment 하지 않도록한다.

************************************************************
#include <stdio.h>

typedef struct _test_t_
{
    unsigned char uc1;
    unsigned char uc2;
    unsigned long long ui1;
} test_t;

typedef struct _testp_t_
{
    unsigned char uc1;
    unsigned char uc2;
    unsigned long long ui1;
} __attribute__ ((packed)) testp_t;

int main (void)
{
    test_t t1;
    testp_t t2;

    printf ("test_t : %d\n", sizeof (t1));
    printf ("testp_t : %d\n", sizeof (t2));

    return 0;
}
************************************************************
[ryu2811@qwertyryu-home ~/work/src/test] ./kkk
test_t : 16
testp_t : 10

Posted by ryu2811
PSP를 사용하다가 불편함을 느껴서 이것저것 시도해 보았다.

첨에는 내가 홈브류를 하나 만들어 볼까 하면서 시작한건데 나이가 들면서
점점 더 게을러 지기만 하니 이도 힘들것 같고 그냥 각 기능별로 간단하게
공부해보는 셈 치고 구현해 보기로 했었다.

첨에 만든건 SDL을 이용해서 PSP에 그림파일을 뿌려보는 것이었다.
생각보다는 간단하게 구현 되었다. 그다음에 한것이 한글 관련된 것이었는데
게임 관련 사이트에 PSP용 한글 라이브러리가 공개 된게 있어서 살펴보다가
TTF 폰트를 사용하는 간단한 프로그램을 만들어 보았었다.

세번째가 이번인데 zip으로 압축된 파일에서 파일을 추출해 내는 프로그램이다.
관련된 라이브러리와 소스는 웹서핑을 하다보니 많이 풀려 있는 상태여서 이것
역시 쉽게 구현 되었다. unzip 관련 소스파일을 몇개 복사해와서 함수만 콜 하니
해결 되었다.

test.zip 라는 파일에는 111.txt 222.txt 333.txt 444.txt 4개의 파일이 묶여 있고
각각의 파일들을 추출해 내는 프로그램이다. unix 환경에서 실행 되며 PSP에서도
실행 된다. 단 PSP 에서 실행하려면 printf 같은 unix c 함수는 수정해주어야 한다.

위 프로그램의 소스코드이다.
Posted by ryu2811
__FILE__ : 현재 모듈의 파일 명
__LINE__ : 현재 실행되는 라인 넘버
__func__ : 현재 실행 중인 함수 이름
Posted by ryu2811
이전버튼 1 이전버튼