본문 바로가기

app/C

(47)
포인터 기본기 샇기!! 1단계!! 빠밤! 정말..난 포인터는 질색이다.( 포인터 떄문에 자바를 배울 정도였다) 허나.. 인생은 뜻대로 되지 않기에..ㅜㅡㅜ 다시금 C로 넘어와서 열씨미 하고는 잇찌만~ 이놈의 포인터..만만치가 않다. 코딩 중 char 포인터를 new/delete를 이용하여 사용할 일이 있는데 delete에서 자꾸 에러가 나는 것이었다... 소스는 다음과 같았다.. char *str = new char[5]; .... delete []str; 왜 에러가 나는거야?! 문법은 맞는데? 하지만 정작 문제는 개념없는 나에게 있었던 것이었으니... 맨날 무시하고 넘어가던...널값!!! NULL값님 께서..나에게 너는 배움이 잇으라~ 하는 소리가 들리 더랬다. 마지막에 항상 NULL값을 않주던 난...오늘에서야..NULL님을 사모하게 되었다..
이놈의... Visual studio 2008... 사실...-_- 한글판을 쓰다보니.. 헷갈리는 부분도 있거니와 메모리 누수를 방지하기 위해서 몇몇 함수가 바뀌다 보니..심심하면 에러를 볼수가 잇었는데..-_-이번껀 너무한다.. AfxMessageBox를 그냥 글거다가 쓰는데..-_- error C2665 : 'AfxMessageBox' 2개의 오버로드 중 모든 인수 형식을 변환할 수 있는 오버로드가 없습니다. 뭔 소리야..ㅡ.ㅡ 이딴걸로 뇌이버 검색을 하게 하다니... 비주얼 스튜디오 2005 전까지는 유니코드를 default 설정으로 해놓지 않았던 반면에 2005부터 기본적으로 유니코드를 인식하도록 설정되어 있는것 뿐이란다. 그러면....텍스트를 유니코드로 인식시키는 방법은? -_- 앞에 L 붙여주면 된다. AfxMessageBox(L"요케 하면 되..
오늘의 삽질~ 파일입출력, Listbox 늘 얼마나 삽질을 했는가..... 요즘 mfc 때문에 피가 마른다.. 2008에서의 파일 입출력은 함수이름이 살짝 틀리다. 물론 6.0에서의 함수는 돌아가지만 유니코드와 파일입출력이 불안하단다 파일 열기 : _tfopen_s(&파일포인터, "경로" , "파일열기상수"); 기존엔 경로와 파일 열기 상수 만으로 있었떤 fopen() 함수가 파일 포인터를 return 했었는데. 파일 읽기 : fscanf_s( 파일포인터, " 쓸 변수 종류", 변수); 기존의 fscnaf와 쓰임은 같다 이름만 틀려졌다.. 다른 fprintf() 나 close() 도 같다. 역시 입출력에서의 읽는게 불안했었나보다..ㅡ,.ㅡ 정말 기존의 6.0 함수로 파일을 연상태에서 프로그램을 돌리면 런타임 에러가 난다. 2008에서 파일입출력..
MFC Dialog Based에서 View Class 쓰지 않고 이미지 출력 다이얼로그를 CMyDlg라고 하면 MyDlg.h에서 void OnDraw(CDC* pDC); 를 멤버로 선언해주고 MyDlg.cpp에서 void CMyDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.W..
MFC 화면 캡쳐해서 저장하기~ 캡쳐해서 전송까지 해야되는데..ㅜㅡㅜ 왜 않되는지를 모르겠다.(용량이 너무 커서 전송 중간에 포인터가 끼어드는거 같기도 하고, 너무 커서 못보내는건 아닐텐데..) HDC h_screen_dc = ::GetDC(NULL); // 현재 스크린의 해상도를 얻는다. int width = ::GetDeviceCaps(h_screen_dc, HORZRES); int height = ::GetDeviceCaps(h_screen_dc, VERTRES); // DIB의 형식을 정의한다. BITMAPINFO dib_define; dib_define.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); dib_define.bmiHeader.biWidth = width; dib_define.bmiH..
맨날 까먹는 opencv 설정하기~ 1. 헤더 파일 및 라이브러리 파일의 경로를 설정해 주어야 한다.. 도구 - 옵션으로 들어가자.. 그럼 아래와 같은 창이 뜬다.. 빨간 박스에서 "프로젝트 및 솔루션"을 찾아서 열자 2. 다음 파일의 디렉터리 표시를 포함 파일(영문이라면 include file일 것이다..)로 바꾸고.. 설정 된 줄 아래를 클릭 해 보자.. 그럼 아래 그림과 같이 직접 입력을 할 수도 있고, 오른쪽 상자를 클릭해 직접 찾아 줄 수도 있다.. 눌러보자... 3. 경로를 찾아 줘도 좋고..직접 입력해도 좋다.. 직접 입력하려면 자신이 OpenCV를 설치한 폴더도 알고 있어야 한다.. 그냥 Next>를 막 눌러 설치 했다면 경로가 C:\Program Files\OpenCV 이다.. 아래 그림과 같이 C:\Program File..
vrml 다각형 그리기~~&& 동영상재생~ #VRML V2.0 utf8 NavigationInfo { type [ "EXAMINE", "ANY" ] avatarSize [ 0.25, 1.6, 0.75 ] speed 1.0 headlight TRUE } Shape { geometry IndexedFaceSet { solid FALSE coord Coordinate { point [3.05 3 0, 3.07 2.4 0, 3.17 1.9 0, 3.42 1 0, 3.4 0.8 0, 2.9 -0.3 0, 2.5 -0.9 0, 2 -1.4 0, 1.6 -2 0, 0.7 -2.4 0, 0.4 -2.4 0, -0.7 -1.8 0, -1.6 -0.8 0 , -2.2 0.3 0, -2.5 1 0, -2.51 1.5 0, -2.6 2 0, -2.41 2.5 0, -..
VRML의 텍스쳐 맵핑과!! simpleVRML의 반쪽짜리 성공? ㅋㅋㅋ 드뎌 해냈따..-0- 아놔...너무 좋은데이거?ㅋㅋ 일단은 vrml 텍스쳐 매핑 쏘스~ Shape { geometry Box { 150 0.5 150} appearance Appearance { texture ImageTexture { url “img/floor.gif” } } 사실 소스는 너무 간단하다.. vrmlPad가 알아서 완성말을 띄어주기 때문에...-0-(이클립스보 다심한거 같다는 느낌이..ㄷㄷㄷ) 모양을 만든다는 예약어{ 박스예약어 { 크기} 모양 예약어{ 텍스쳐맵핑 예약어 { url"경로"} } } 이 얼마나 깔끔한 언어인가!! 왜 이게 사장되어야 하는지...안타깝기만 하다..(사실 성능으로 따지면 3DMAX 나 캐드보다 빠르다) 그담엔!!!오늘 성공한 텍스쳐 맵핑 AR!!! 음....