본문 바로가기

Projects/CoVNC

Swap16IfLE() 매크로

참고 바람 ..

#define Swap16IfLE(s) \
   ((CARD16) ((((s) & 0xff) << 8) | (((s) >> 8) & 0xff)))

#define Swap32IfLE(l) \
   ((CARD32) ((((l) & 0xff000000) >> 24) | \
    (((l) & 0x00ff0000) >> 8)  | \
  (((l) & 0x0000ff00) << 8)  | \
  (((l) & 0x000000ff) << 24)))




jdlee12 작성:

> big,little endian 은 워드를 저장할때 바이트 앞뒤 순서가 바뀌는 거죠 ..
>
> 다른 OS 와 endian 방식이 다르면
> 매크로로 만들면 1 줄정도 이내로 swap macro 를 만들 수 있읍니다.
>
> "조우현" 작성:
>
> > 안녕하세요.
> > 전 네트워크프로그래밍을 하는데 도움이 필요해서 글을 올립니다.
> > MFC로 만들고 잇는데 다른 시스템의 서버에 client로서 연결하고
> > 또다른 MFC로 만든 클라이언트 프로그램에 대해서는 server로
> > 동작하게하는 말하자만 클라이언트와 서버의 기능을 둘다 가진
> > 프로그램이지요 . 근데 문제가 있습니다. 이 프로그램이 클라이언트로서 서버에
> > 연결할려는 시스템은 windows가 아닌 다른 OS이기때문인데 책을 보면 mfc가 아닌
> > 프로그램에서는 CSocket클래스를 사용할수 없고 big-endian에 맞추어서 데이타를
> > 보내야 한다고 합니다. 정말로 이런 방법 밖에 없나요?
> > 음..제 질문이 너무 복잡한가요?
> > 도움 부탁합니다.

'Projects > CoVNC' 카테고리의 다른 글

CF_BITMAP 사용하기  (0) 2007.01.30
클립보드에서 이미지 읽기  (0) 2007.01.25
자바 이미지 저장  (0) 2007.01.24
자바 드래그엔 드랍, 클립보드 튜토리얼  (0) 2007.01.23
Cut & Paste 자바 클립보드 - 최종명  (0) 2007.01.23