Tech & IT/프로그래밍 110

Layer를 다루는 C프로그래밍으로 단계별 개선

union을 이용 그안에 있는 pointer선언형으로 compiler가 자동으로 변환해주는 효과를 얻을 수 있음 http://lxr.linux.no/linux+v2.6.13/include/linux/fs.h 에서도 union사용용법을 확인할 수 있음 1단계 : #include typedef struct _sData { int num ; char str[100] ; } sData ; voidinit(sData *pm, char *pstr) ; voidadd(sData *pm, char *pstr) ; voidout(sData *pm) ; voidadd_int(sData *pm, int num) ; intnumber(sData *pm) ; voidarray(sData *pm) ; intcheck(sData ..

functor를 이용한 함수 매크로

수업 내용 1. ADS(Code Warrior , AxD Debugger) 2. H-JTAG(open되어있는 무료 JTAG프로그램(USB는 유료)) 3. ARM9 실습보드 세팅 4. ARM instruction 이해 1. JTAG 설치 (H-JTAG, H-Flash(boot rom 굽는 프로그램) 2. boot rom fusing(Firmwre boot code 넣음) 3. AxD Debugger 연결 4. DNW(Hyper terminal) serial int a = 10; // RW int b = 0 ; // ZI int c ; // ZI func() { int d = 20; //stack c ++ ; d = d + c; printf(___); // RO } ZI_LIMIT --------------..

CreateThread 와 CRT함수들과의 위험성 여부

1. CreateThread : Windows API함수이며 몇몇 몇몇 crt 함수 (malloc(), fopen(), _open(), strtok(), ctime(), or localtime() 등등)가 만들어 놓은 static data 및 static buffer를 clean up하지 못함 ExitThread에서 Thread에 생성된 static buffer를 clean up하지 못하므로 memory leak이 발생함(70~80byte) 그런데 실제로 thread-safe 여부에 대해서는 언급은 없음 thread 마다 고유의 static buffer를 생성하기 때문에 서로 침범을 하거나 critical section문제는 없을 것 같음 CreateThread은 사용하지 않기를 절대적으로 권고하지만, ..

fopen(CRT) 사용시 멀티스레드(multithread)문제?

fopen함수가 multithread가 안전한가라는 주제로 웹에서 나온 자료http://blog.naver.com/process3/20093839045 http://support.microsoft.com/kb/104641/en-us open 과 fopen 계열 함수들의 차이점과 적용시점 http://blog.naver.com/chorongu/150029828416 fopen http://msdn.microsoft.com/en-us/library/yeby3zcb.aspx // crt_fopen.c // compile with: /W3 // This program opens two files. It uses // fclose to close the first file and // _fcloseall to c..

C++ BITFIELDS 에 대해.. 이런거군.

Bit Fields에 대해서 궁금한 게 좀 있었는데 문서에 정확한 설명이 나와있네요.. 아래의 force alignment 부분은 좀 유의해야겠습니다. unsigned : 0; // Force alignment to next boundary. http://msdn.microsoft.com/en-us/library/ms858673.aspx C/C++ Language Reference C++ Bit Fields Classes and structures can contain members that occupy less storage than an integral type. These members are specified as bit fields. The syntax for bit-field member-de..

File에 "\\?\", "\\.\" 을 붙이는 경우

255자가 넘는 path를 지원을 위해서는 아래와 같이 사용해야 함 \\?\C:\folder or filename \\?\UNC\eric-pc\shared namespace : \\?\는 Win32 File namespace \\.\는 Win32 Device namespace \\.\COM1 or \\.\PhysicalDiskX if(strFilePath.Left(2).CompareNoCase("\\\\") == 0) { strFilePath = "\\\\?\\UNC\\" + strFilePath.Mid(2); } else { strFilePath = "\\\\?\\" + strFilePath; } http://msdn.microsoft.com/en-us/library/aa363858(VS.85).asp..

객체지향의 5대원칙

* 객체지향의 5대원칙 http://blog.naver.com/twodplay?Redirect=Log&logNo=150068457791 http://blog.naver.com/kcufl?Redirect=Log&logNo=60063753537 5대원칙 설명이 잘 되어있음 http://blog.naver.com/parkjy76/30057770855 ZDNet자료 [객체지향 SW 설계의 원칙] ① 개방-폐쇄 원칙 OCP(Open-Closed Principle) http://www.zdnet.co.kr/ArticleView.asp?artice_id=00000039134727 ② 사례연구, 단일 책임 SRP(Single Responsibility Principle) http://www.zdnet.co.kr/Art..

[Link] 유용한 소스들, 분석해 보고싶은 소스들

* 구조적 예외 처리( SEH - Structured Exception Handler) 실제 예제 소스 http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=278&MAEULNo=20&no=28582&ref=28582 * The Ultimate Toolbox Home Page http://www.codeproject.com/KB/MFC/UltimateToolbox.aspx http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=51&MAEULNO=20&no=8366&page=1 * A Rich Edit Control That Displays Bitmaps and Other OLE Objects http://w..