C++에서 (void) 0 은 옳바른 문법인가? 아니다. static_cast0 이 옳바르다. 퍼옴: http://binyjini.tistory.com/entry/staticcast-constcast-dynamiccast-reinterpretcast-C-casts C++에서 지원하는 타입 캐스팅은 크게 4가지로 아래와 같이 분류되는데, 각 캐스팅마다 특징이 조금씩(응?) 다 다르다. 의외로 오랫동안 프로그래밍을 해 온 사람도 그 차이에 대해 명확하게 설명하지 못하는 경우가 많고 상황에 따라 적당히 경험적으로 시행착오를 통해 쓰는 경우가 있는데 그래서는 안될 것 같아 정리를 해 보았으니 이에 대해 한번 살펴보기로 하자. static_cast static_cast is the first cast you s..
윈도우에서 GUID 같은 모바일 장치에서도 고유값을 구하는 방법이 필요하다. 무엇으로 할까? 스마트 폰에서는 전화번호, 현재 위치 등도 고유한 값이긴하지만, IMEI 와 IMSI 값이 일반적인 고유치가 될 수 있을 것이다. 일단, IMEI 장비 고유값에 대해서 알아보자. 용어설명 MEID(Mobile Equipment IDentifier) - IMEI의 헥사값(14자), CDMA의 ESN(Electronic Serial Number, 8자)를 대신함 IMSI(International Mobile Subscriber Identity) - GSM/UMTS 에서 모바일 유저의 고유값(15자) IMEI(International Mobile Equipment Identity) - GSM/WCDMA 및 위성폰에서의..
http://opnote.tistory.com/33 여기에서 발췌함. 배울 것이 있어 보인다. 한번 읽어봐야겠다. HARD CODE 에서 재미있었거나 곱씹어 봐야 할 내용을 정리해본다면 기본적으로 일정 예측에 리히터 척도(Richter scale)를 사용. 예측이 조금 빗나가는 것은 신경 쓰지 않는다. 대신 중간목표 점검일로 긴장감을 심어주고 보통 재미없는 ‘반드시 출시할’ 기능 목록을 반드시 밝혀서 이 기능을 완료했을 때, 개발자에게 재미있는 일을 할 수 있게 했다. 이렇게 동기 부여. 합의가 어렵고 사적인 감정이 개입돼서 만장일치가 무리인 모임에선 반대자가 없으면 통과하는 ‘퀘이커’식 합의를 사용. 회의. “왜 모였죠?” “목적이 뭐죠?” “저 사람들은 왜 참석했죠?” “왜 이제서야 말하죠?” “다음..
http://homepage1.nifty.com/yito/anhttpd/winsock_error.html에서 가지고 옴 오류 번호 순서* 다음과 같은 영어 구절은 WinSock Development Information 페이지의 내용을 사용 드리겠습니다. m (_ _) m * 일본어 구절은 - WinSock 1.1/2.0 Reference on Web -페이지의 내용을 사용 드린지만, 세월을 거쳐 소멸되어 버린 것 같습니다 (Wayback Machine 아카이브). * Microsoft는 Windows Sockets Error Codes 페이지에 정보를 제공하고 있습니다. 10000 WSABASEERR No Error 10004 WSAEINTR Interrupted system call 시스템 콜 인터럽..
윈도우 드라이버 작성할 때에 꼭 동기화 개체 이야기가 나온다. 물론 락이 아예 필요없는 구조로 가는게 더 좋은 방법이지만... 멀티 스레드 기반이니, 동기화 개체를 안 쓸래야 안 쓸 수도 없어 보이기도 하다(^^) lock-free, wait-free 등을 쓰고 싶으나, 일반 구현은 CAS 명령어에 의존하는 형편이다. 하지만, 64비트에서는 인라인 어셈을 원초적으로 거부하는 형식이라, 외부 어셈을 달아 써야 한다. 글구 너무 플랫폼에 종속이 되버린다. 완전히 알고리즘적으로 해결한 경우는 못 찾아서 내부적인 자료구조임에도 불구하고 계속 동기화 개체를 찾아 써야 하는 상황이다. STM 등을 고려해 볼까 했는데, 마음만 바쁘다. 암튼...다음은 윈도우 비스타 기준으로 나온 동기화 개체 일람이다. 락 프리가 되..
개인적으로 아는 사람을 관리하는 게 더 힘들다. 먼저는 공사를 구분하지 못할 때가 종종 있다. 직급 차이가 나도 특히 나이가 같다면 아무리 약속을 해도 이게 잘 안된다. 특히 객관적인 실력을 증빙할 수 없는 사람일수록 이게 심하다. 그럼, 가능하면 뽑지 말고 혹 뽑더라도 함께 하지 말아야 할 것이다. 어쩔 수 없이 함께 하게 되었다면 기대하지도 말자. 왜냐하면 나이, 직급, 업무가 다 차이가 나도 정작 상대방이 업무를 못할 수 있기 때문이다. 협업이 잘 안되서, 개인적인게 깨어지기 쉽다. 그래서 혹시 회사에서 개인적으로 아는 사람을 뽑는다면, 직접 부딪히지 않는 부서에서 뽑는 것이 상책이다. 물론 아는 사람이 객관적인 증빙이 있다면, 함께 일하는게 좋을 것이다. 사람을 뽑았다면 무엇보다, 왜 그 사람을 ..
자주 쓰던 건데, 고맙게도 정리해서 올려놓았네요. ^^ 출처: http://microdev.pe.kr/14 작업표시줄에 현재 윈도우의 캡션(?)을 안나오게 하는 방법.... 윈도우가 초기화 될때 아래의 코드를 쓰면 장땡!! ex) CDialog::OnInitDialog() DWORD dwStyle = GetWindowLong( HWND, GWL_EXSTYLE ); dwStyle &= ~WS_EX_APPWINDOW; dwStyle |= WS_EX_TOOLWINDOW; SetWindowLong( HWND, GWL_EXSTYLE, dwStyle );
출처: http://microdev.pe.kr/22 WinMainCRTStartup -> CWinApp::CWinApp -> CMyApp::CMyApp @ -> WinMain -> ::AfxWinMain -> ::AfxGetApp @ -> ::AfxWinInit -> ::AfxInitThread @ -> CWinApp::InitApplication @ -> CWinApp::InitInstance -> CSingleDocTemplate::CSingleDocTemplate @ -> CWinApp::AddDocTemplate @ -> CWinApp::ParseCommandLine @ -> CWinApp::ProcessShellCommand -> CWinApp::OnFileNew -> CDocTemplate::..