본문 바로가기

C/C++

비트 필드 스트럭쳐 혹시 소켓통신이나 시리얼 통신을 할때 최적화된 메모리관리가 필요할때 유용할꺼 같습니다. 예를들어.. BYTE sendBuf[9]; sendBuf[0]=0x01; sendBuf[1]=0x31; sendBuf[2]=0x01; sendBuf[3]=0x01; sendBuf[4]=0x31; sendBuf[5]=0x01; sendBuf[6]=0x01; sendBuf[7]=0x11; sendBuf[8]=0x01; 위와 같이 바이트 배열에다 필요한 HEX값을 넣으면 사이즈는 9바이트겠지여...무조건.. 그러나 위와 같은 데이터를 그대로 저장하면서 훨씬 적은 메모리를 차지하는 방법이 비트필드스트럭쳐를 이용하면 될꺼같은 생각에.. struct test{ // Bit Field Structure BYTE a:2; BYTE .. 더보기
simpleAdo 2.0 /*! \brief ADO Component Wrapper Class - Create Date/Ver : 2003.03.19 /1.0 - RecordSet은 CreateInstance사용안함. - Modify Date/Ver : 2003.04.18 / 1.5 - RecordSet셋팅을 위해 CreateInstance를 사용했습니다.(ExcuteQryEx) - SaveQryData함수 추가 : select로 불러온 데이터를 파일로 저장(XML) - ExcuteQryEx함수 추가(레코드셋 설정을 위해...) - Modify Date/Ver : 2003.05.19 / 1.6 - ExcuteQry, InsUpDel()함수 가변인수 적용.. - EX) \n int nData=10;\n ExcuteQry("sele.. 더보기
c/c++ 간단 토글링 (1) 0과 1을 토글(Toggle)하는 경우: 프로그램에서 변수의 값을 0↔1을 토글 int i=0; //전역 or member 변수 i^=1;//비트 배타합(eXclusive Or) 연산의 특징을 이용한다. 이와 같은 기교는 임의의 두 수를 토글하는데 사용할 수 있다. 예를 들어 1 과 3을 토글하려면, 0001 ^ 0011 → 0010 이므로, 두 수의 배타합의 결과인 2와 배타합 연산을 하면된다. int i=1; //전역 or member 변수 i^=2;//1과 3을 토글한다. (2) 1과 -1을 토글하는 경우 int i=1; //전역 or member 변수 i=-i; (3) 0,1,2,3을 토글하는 경우: 2개 보다 많은 숫자를 토글 int j=0; //전역 or member 변수 i=(i+1).. 더보기