본문 바로가기

WORK/Sotfware235

트리(자료구조)의 리스트 표현 방법 트리를 다음과 같은 형식의 리스트를 이용하여 재귀적으로 표현한다. (루트노드(서브 트리1, 서브 트리2, .... , 서브 트리n)) 서브 트리도 트리이므로 이러한 리스트가 중첩되어 표현된다. 예제를 통해 알아보자. 예제로 사용할 트리  위의 트리를 리스트 표현 방법으로 표시하면 다음과 같다.                                    ( A ( B ( E , F ) , C ( G ) , D ) ) 예제 트리를 내부적으로 표현하면 다음과 같다. 각각의 노드는 가변적인 포인터 수를 가지므로 효율적인 표현 방법이 되지 못한다. 이 문제를 해결하기 위해 포인터 수를 2개로 고정한 방법이 left child, right sibling 표현 방법과 이진 트리 표현 방법이다.고정된 포인터 수를.. 2008. 7. 8.
USB SPEC http://www.surym.pe.kr/swiki/wiki.php/USBSPEC#s-1.10.6 1 USBSPEC 1.1 목적 1.2 USB 일반 1.3 USB Protocols 1.4 Common USB Packet Fields 1.5 USB Packet Type 1.5.1 Token Packet 1.5.2 Data Packet 1.5.3 Handshake Packet 1.5.4 Start of Frame Packets 1.6 USB Functions 1.6.1 Example 1.7 Endpoints 1.8 Pipes 1.9 Endpoint(Transfer) Types 1.9.1 Control Transfers 1.9.2 Interrupt Transfers 1.9.3 Isochronous Transf.. 2008. 7. 8.
Control Endpoint의 DATA stage 활용 - IN편 계속해서 Data stage를 가지고 데이터를 호스트로 보내는 방법을 익혀보자. 사실 이 방법은 이미 우리의 코드에 들어 있다. Fw.c의 SetupCommand()함수에 보면 case SC_GET_DESCRIPTOR:와 case SC_GET_STATUS:가 디바이스가 Default Control Transfer를 수행하는 중에 Data Stage를 통해 데이터를 호스트로 전송하는 예이다. 우리가 desc.a51 파일을 작성하고 펌웨어를 빌드한 후에 UniHigh에 다운로딩 하면, FX2의 메모리 어딘가에 Descriptor들이 들어가 있을 것이다. Descriptor들이 들어가 있는 메모리 주소들을 가리키는 인덱스가 각각 pDeviceDscr, pDeviceQualDscr, pConfigDscr, …인.. 2008. 7. 8.
USB Class Codes USB Class Codes March 2, 2006 USB defines class code information that is used to identify a device’s functionality and to nominally load a device driver based on that functionality. The information is contained in three bytes with the names Base Class, SubClass, and Protocol. (Note that ‘Base Class’ is used in this description to identify the first byte of the Class Code triple. That terminology.. 2008. 7. 4.
srtcmp String Compare의 약자 이다 #include int srtcmp(const char *s1, const char *s2); s1과 s2가 같은 경우, strcmp는 0을 리턴한다. if(strcmp(s1, s2) == 0) return; 2008. 6. 30.
RichEdit 초기 설정 및 주의 리치 에디트 컨트롤은 텍스트 문서를 작성하는 에디트를 구현할 때 대단히 유용하다. 간단히 한줄 이내의 짧은 글 입력일 경우 간편한 에디트 박스 컨트롤이 알맞지만 그 보다 긴 글을 자유롭게 써야하는 경우에는 리치 에디트 컨트롤을 선택해야 할것이다. 리치 에디트 컨트롤을 사용하고자 할 때는 우선 기억해 두어야 하는 일이 있다. 어플리케이션 클레스의 InitInstance() 함수에서 대화상자가 호출되기 전에 AfxInitRichEdit() 함수를 반드시 사용해야 한다는 것이다. 이 함수를 먼저 부르지 않으면 동작을 하지않고 특별한 에러도 나지 않지만 실행이 안되는 상황이 발생하게 될것이다. 다들 잘 아시겠지만 가끔은 빼먹어서 정신이 혼미 해질수도 있음 ㅎㅎ 잘 안보는 책을 팔수 있는 곳입니다. 또는 저렴하게.. 2008. 6. 18.
CString을 int 형으로 변화 CString을 int 형으로 변화 CString m_Edit; int Conver; int temp; temp = atoi(m_Edit); Conver = temp; CString → int int형 = _ttoi(CString형); int → CString CString형.Format( _T("%d"), int형); 2008. 6. 16.
ini 파일 읽기 쓰기 참고 : http://msdn2.microsoft.com/en-us/library/ms724353.aspx // ini 파일 [section] key = string ex) [C/C++] KEYWORD = const,for,if 1. MFC에서 CMapStringToString 클래스를 사용하여 읽어오기 CMapStringToString m_hashTable; void ReadPrivateProfile() { char tmpStr[KEY_SIZE], cbExeDir[256]; GetModuleFileName(NULL, cbExeDir, 256); cbExeDir[strlen(cbExeDir) - 3] = '\0'; strcat(cbExeDir, "ini"); if( GetPrivateProfileStri.. 2008. 6. 13.
ini 형식의 파일을 읽고 쓰기 GetPrivateProfileString API ini 형식의 파일을 읽고 쓰기 편하게 만들어 놓은 API kkk.ini 라는 파일에 아래와 같은 내용이 있을 때에 ----------------------------------------------------------------------------------------- [AAA] a1=안녕하세요 a2=안녕히 계세요 [BBB] b1=어서오세요 b2=GG ----------------------------------------------------------------------------------------- 아래처럼 함수를 호출하면 ----------------------------------------------------------------.. 2008. 6. 13.
728x90