· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
dasomoli


1. About DasomOLI


  • 이 름 : 양정석(Yang Jeong-Seok)
  • E-mail : dasomoli (at) gmail.com
  • 개발자입니다~
  • [https]우분투 KoreanTeam 에 참여하고 있습니다.
  • 블로그는 http://www.dasomoli.org 에서 보실 수 있습니다.

    우분투 깐 기념~ :) - dasomoli 2005-07-19 10:09:20

2. 내가 쓰거나 고치는 글


  1. Using POP3, SMTP with SSL (dasomoli)
    POP3, SMTP 서비스를 SSL 과 함께 사용하는 방법을 간단하게 요약.
  2. Wine으로 Starcraft하기 (dasomoli)
    Wine으로 Starcraft를 하는 절차를 간단히 설명
  3. xchat MS Windows 에서 사용하기 (dasomoli)
  4. Subversion 서버 설정
  5. Subversion 설치기
  6. Mantis 한글(UTF-8) 설정
  7. phpbb2 를 UTF-8 인코딩으로 사용하기
  8. Subversion 백업 스크립트

4. 의문의 코드


이게 왜 의문의 코드지?;;

#include <stdio.h>

#pragma pack(push, 1)
typedef struct  Test1__t        {
        struct  {
                        unsigned char           Status;
                        unsigned char           Reserved;
                        unsigned long           Value;
        }       Sensor[5];
}       Test1_t;
#pragma pack(pop)
#pragma pack(push, 2)
typedef struct  Test2__t        {
        struct  {
                        unsigned char           Status;
                        unsigned float          Value;
        }       Sensor[5];
}       Test2_t;
#pragma pack(pop)

int main(void)
{
        Test1_t         Data1;
        Test2_t         *pData;
        unsigned char   Buffer[1000];
        float   *pf;
        int i = 0;

        Data1.Sensor[0].Status  = 0;
        pf = (float*)&(Data1.Sensor[0].Value);  *pf = 30.6;
        printf("[%d] pf : %f\n", i++, *pf);

        Data1.Sensor[1].Status  = 0;
        pf = (float*)&(Data1.Sensor[1].Value);  *pf = 27.0;
        printf("[%d] pf : %f\n", i++, *pf);

        Data1.Sensor[2].Status  = 0;
        pf = (float*)&(Data1.Sensor[2].Value);  *pf = 1012.9;
        printf("[%d] pf : %f\n", i++, *pf);

        Data1.Sensor[3].Status  = 0;
        pf = (float*)&(Data1.Sensor[3].Value);  *pf = 0.0;
        printf("[%d] pf : %f\n", i++, *pf);

        Data1.Sensor[4].Status  = 0;
        pf = (float*)&(Data1.Sensor[4].Value);  *pf = 17.3;
        printf("[%d] pf : %f\n", i++, *pf);

        for(i = 0; i < sizeof(Test1_t); i++)
        {
                Buffer[i] = ((unsigned char*)&Data1)[i];
        }

        pData = (Test2_t*)&(Buffer[0]);

        printf("Buffer 에 담고 포인터로 접근\n");
        for(i = 0; i < 5; i++)
        {
                printf("[%d] %f\n", i, pData->Sensor[i].Value);
        }

        pData = (Test2_t*)&Data1;

        printf("그냥 포인터로 접근\n");
        for(i = 0; i < 5; i++)
        {
                printf("[%d] %f\n", i, pData->Sensor[i].Value);
        }

        return 0;
}

5. 저에게 남기실 말


돌아다니다 보니 정석이형 있네요 ㅋㅋ - 준우 -- wavelen 2006-09-13 11:04:49

형 저도 놀러왔어요 ㅋ 요즘은 뭐하고 지내시나여~ 근데 저 의문의 코드는 머하는건가요. 전 잘 모르겠음 ㅠㅠ 철우-- sshimcw 2008-08-29 10:43:16

captcha
Username:


ID
Password
Join
You will be aided greatly by a person whom you thought to be unimportant.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2008-08-29 10:53:44
Processing time 0.0114 sec