메모리 맵 파일!? 윈도우즈는 물리적인 메모리가 부족할 경우 하드 디스크 페이징 파일(Paging File)을 메모리 대신 사용한다. 마치 페이징 파일이 물리적인 메모리의 일부인 것 처럼 프로세스의 주고 공간에 맵하여 사용하며 필요한 경우 RAM으로 읽어오므로 응용 프로그램의 입장에 볼 때 페이징 파일은 속도가 좀 느릴 뿐 램과 전혀 다를 것이 없다. 메모리 맵 파일은 Win32에서 프로세서간 메모리를 공유하는 유일하고 합법적인 방법이다. 두개의 프로세스가 하나의 메모리 맵 파일을 동시에 액세스할 수 있기 때문에 메모리 맵 파일을 통해 데이터를 주고 받을 수 있고 동시에 한 메모리 영역을 액세스 할 수도 있다. 소스내용은 찾아보시길,,,하고 인터넷에 있는 내용 올림. #include #include #i..
Run-Time Check Failure #2 - Stack around the variable 'abc' was corrupted. 인터넷을 검색 해본 결과. 몇몇가지... 가 떳다!! 1. string 에 문자를 넣을 때 나오는 에러란다. 2. string 의 사이즈가 잘못되었다. 난 strig 이란 자료형을 쓰지 않으므로 아닐꺼라 예상하였다. 그리하여 더 검색한 결과 2번이 잘못이였다. char 형의 배열의 크기를 조금더 늘려주니 실시간 에러는 사라졌다. 1번 문제 http://blog.naver.com/cysatan?Redirect=Log&logNo=10056764235 2번 문제 http://mynotepad.tistory.com/87
다얼~로그를 사용하면서 메모리 관리가 좀 ..힘들다! 어찌할까? class CMainFrame : public CMDIFrameWnd { ... private: CProcessSetting *m_dlg; CIPSetting *m_IPDlg; } // 생성자에 // ------------------------------------------------------- // Setting Dlg 동적생성 // ------------------------------------------------------- m_dlg = new CProcessSetting(); m_dlg->Create(IDD_SETTING,this); // ------------------------------------------------..
다이얼로그가 생성될 때 발생되는 메세지의 순서로는 DoModal() PreSubclassWindow() OnNcCreate() OnNcCalcSize() OnCreate() OnSize() OnMove() OnSetFont() OnInitDialog() OnWindowPosChanging() OnMove() OnWindowPosChanged() OnWindowPosChanging() OnNcActivate() OnActivate() OnShowWindow() OnWindowPosChanging() OnNcPaint() OnEraseBkgnd() OnChildNotify() OnCtlColor() OnWindowPosChanged() OnPaint() OnCtlColor() OnCtlColor() OnNc..
비주얼 스튜디오를 사용하면서 유니코드에 부딪히게 된다... 그에 따른 매크로 함수가 있다! 왜 지금알았는가? ㅜ_ㅜ....젠장~ T2A, A2T 매크로 함수가 있다 열심히 사용해보자^^!! 추가해야되는 해더파일 : atlbase.h TCHAR buffer[100]; char * char_buffer = T2A(buffer); #include // Unicode to Ansi USES_CONVERSION; CStringA strTemp; strTemp = T2A( (TCHAR*)str ); // Ansi to Unicode USES_CONVERSION; CString strTemp; strTemp = A2T( (char*)str ); 이렇게 사용을 하면~^________________^a 된다! 후훗.
_@ http://devdev.tistory.com/351
URL : http://www.tomatowax.com/ZeroboardXE/7349 Visual C++ & Warning LNK4099 : PDB 1. 개요 VC++ 환경에서 외부 라이브러리를 링크하면 가끔 LNK4099 워닝이 발견될 수 있습니다. LNK 에 적혀있듯이 이것은 링크와 관련된 워닝입니다. LNK4099 워닝은 해당 라이브러리가 디버그 목적으로 이용될 수 있는 디버깅 정보를 생성하였는데 생성된 디버깅 정보가 라이브러리 혹은 외부에 .pdb 파일로 어플리케이션에 전달되지 않고 있기 때문에 발생하는 워닝입니다. 보통 warning LNK4099: '*.pdb' PDB was not found 와 같은 형태로 워닝이 출력되며, 사용자는 이를 무시할 수 있습니다. 이 워닝은 단순하게 링크한 라이..
일반적으로 DirectX를 이용한 게임 애플리케이션 개발은 VC++에서 Win32로 개발한다. 그런데 Rhea君과 Rhea君 주위의 모임에는 게임 코드에 MFC를 많이 사용한다. Win32로 개발하더라도 MFC를 사용하는 것은 아주 쉽다. 1) 우선 stdafx.h 에 #include #include 이 두 헤더파일을 추가한다. 사실 afx.h 만 있어도 되지만 AfxMessageBox()같은 함수를 사용하기 위해서는 afxwin.h 을 추가해주자. (실제 최종 아웃풋에 사용되지 않더라도 개발시 많은 도움을 준다.) 중요한 것은 MFC 헤더 파일들이 반드시 기존 #include 보다 먼저 선언 되어야 한다는 점이다. 이 순서가 틀리면 afxv_w32.h 의 #ifdef _WINDOWS_ #error WI..
Winsock32 Library 를 사용하면서 생기는 문제점. 그리고 Vs6.0 을 사용하다가 2005를 사용할때 가끔씩 에러가 뜬다!!!!!!!!!!!!!!!!!!!!1 시뿔!! 뿔! 에러지 당연 -_-;; //------------------------------------------------------------ void DisplayText( char *fmt, ... ) { int Lines; Lines = SendMessage( g_hEdit1, EM_GETLINECOUNT , 0, 0 ); if( Lines > 400 ) SetWindowText( g_hEdit1, " " ); va_list arg; va_start( arg, fmt ); char cbuf[BUFSIZE]; //vswpri..
IEEE1394 등에서 영상을 얻을 때 cvcam관련 함수를 이용하는데 이때 frame rate를 변경하고자 할때 다음 코드를 이용하세요. #include #include #include void callback(IplImage* image); void main() { double fps = 60; int nselected = cvcamSelectCamera(0); cvcamSetProperty(0, CVCAM_PROP_ENABLE, &nselected); int width = 640, height = 480; cvcamSetProperty(0, CVCAM_RNDWIDTH, &width); // 카메라 입력 사이즈 너비 cvcamSetProperty(0, CVCAM_RNDHEIGHT, &height); ..
Visual C++ 7.0 이상부터 컴파일이 warning C4311 ,warning C4312 가 발생하는 경우가 발생한다. 내용은 type cast 될때 포인터가 잘린다는 내용인데 VC++ 6에서는 발생하지 않았었다. 이는 컴파일러에서 64비트 환경에서는 문제가 된다는 경고 이다. 이러한 경고를 없애기 위해서는 프로젝트 속성에서 "64비트 이식성 문제점 검색" 기능을 "아니요"로 하면 된다. Visual Studio 2005 환경에서 설정 모습 자세한 사항은 MSDN 에서 확인 !! http://support.microsoft.com/kb/329343
음~ 간혹 과제를 하다가 ... 그러나 혹은 소스를 수업제출을 할수 없을 때 - 공개할수 없는 cpp, h 파일들을 숨겨서 주는 방법이 없을까?- 남이 공부한걸 그렇게 빼가다니 좋지 못한거 아닌가? 과제니깐 제출해야지?? 왜?? 왜줘야하는데? 그렇게 자료를 모아두고 싶은건가? ... 이제 그 방법을 말로 알아보자! 먼저 현재 완성된 프로젝트가 있을 것이다. 거기의 모든 cpp, h 파일을 복사한다.( 붙일 곳은 라이브러리를 생성하기위한 프로젝트로 복사) 이전에 MFC - 일 경우에는 API쪽란에 Win32 기본 프로젝트로 생성을 한다. 이때 MFC 동적 라이브러리 추가 를 선택하고 프로젝트를 생성해야만 한다. API 일 경우에는 단순히 Win32 쪽에서 기본으로 프로젝트를 만들면 된다. 그리고'ㅅ'! 이..