모바일 왕국을 꿈꾸며!!! mobizen@mobizen.pe.kr

Posted
Filed under 개발관련

워낙에 많고 다양한 모바일 플랫폼을 개발을 하고(한 툴에 겨우 익숙해지면 다른 플랫폼 개발 프로젝트가 떨어지게 된다.) 그 다양한 이기종간에 네트워크를 개발하다보니...
바이트 오더링이 여간 신경써지는게 아니었다.
서로 네트워크 패킷이 오갈 때 사용하는 바이트 배열값이 동일한 플랫폼에서는 신경 안 써도 되는 것이지만, 이기종이다 보니 종종 원치 않는 값을 얻어오기도 한다.
게다가 모바일에서 주로 사용하는 Arm 프로세서라는 넘은 스위치 조작에 따라 빅엔디안과 리틀 엔디안을 설정할 수 있다.(둘다 지원한다는 소리다.)

그래서 값을 바이트 배열에 넣을 때는 무조건 아래 함수를 사용하는 버릇이 생겼다.

int getUint32(unsigned char * data, int index)
{
return ((data[index] & 0xff) << 24) | ((data[index + 1] & 0xff) << 16) | ((data[index + 2] & 0xff) << 8) | (data[index + 3] & 0xff);
}

void setUint32(unsigned char * data, int index, int i)
{
data[index] = (byte)(0xff & (i >> 24));
data[index + 1] = (byte)(0xff & (i >> 16));
data[index + 2] = (byte)(0xff & (i >> 8));
data[index + 3] = (byte)(0xff & i);
}

int getUint16(unsigned char * data, int index)
{
return (int)(((data[index] & 0xff) << 8) | (data[index + 1] & 0xff));
}

void setUint16(unsigned char * data, int index, int i)
{
data[index] = (byte)(i >> 8);
data[index + 1] = (byte)i;
}

64비트도 뭐... 이런식으로 하나 만들어서 사용해 왔다.
워낙 오래된 버릇이라 불편한 것도 몰랐고, 이젠 당연히 쓰게 되었다.

어느날 팀원에게 소스 주면서 아무 생각없이 이걸로 쓰라고 하자..
"왜요? 귀찮자나요.."
라고 한다..

달리 반박할 말이 생각나질 않는다..
동일한 플랫폼 안에서는 별 필요 없지 않은가????
쓸데 없는 버릇인가?
아닌 것 같은데......

2006/08/24 17:47 2006/08/24 17:47
Posted
Filed under 모바일 일반
무선 홈네트워크 자료를 한참을 보았다.
무선에 해당되는 Device들의 카테고리를 크게 CE, Mobile Device, PC 로 구분을 해서 계속 설명을 하는 자료였다.

CE.....

MS Windows CE가 설치된 PDA, 스마트폰, 이동형 기기들을 통칭해서 하는 말이로구나..
CE의 위상이 이정도란 말인가?
라고 생각했는데..

한참 뒤에

Consumer Electronics (CE)


라는 문구를 발견했다.
OTL

그럼 그렇지...

내 스스로에게 당황하여 네이버에 검색을 해보았다.

Ce【화학】 cerium
CE Chemical Engineer;Chief Engineer;Church of England;Civil Engineer;【컴퓨터】 customer engineer
1 [「…배(倍)의 뜻」
2 [추상명사 어미]

그렇지?
표준 용어는 아니었지?
내가 바보가 아니지???
2006/08/24 13:39 2006/08/24 13:39