문제
visual studio로 application을 돌렸는데, '메모리가 부족합니다'라는 창을 띄우면서 죽는 경우.
해결
진짜 메모리가 부족한 경우이다.
1. 먼저 많이 쓰는 메모리 종류가 무엇인지 확인하기.
- heap인지 stack인지를 확인하기.
2. 프로젝트 -> 속성 -> 링커 -> 명령줄에 아래를 써줌.
/HEAP: 4000000000
혹은
/STACK: 4000000000
byte단위로 숫자를 써주며 위와 같이 쓰면 4기가가 할당된다.
아니면 프로그램에 직접 다음과 같이 써도 된다.
#pragma comment(linker, "/HEAP:4000000000")
위와 같이 한 후, 컴파일하여 실행해본다.
3. 위와 같이 하였는데 컴파일에러(quota not enough)가 나는 경우는 실제 할당하기에 가상 메모리가 부족한 경우이다. 이 경우는 가상 메모리의 크기를 늘려준 후, 다시 시도해본다.
2016년 12월 22일 목요일
2016년 11월 16일 수요일
visual studio 단축키
ctrl + f: 찾기
ctrl + space: namespace 리스트 보여주기
ctrl + shift + space: 변수, 함수 리스트 보여주기
F9: 브레이크 포인트
F7: 빌드
F5: 빌드 + 실행(F9로 설정한 브레이크 포인트에서 멈춤)
F10: 줄단위로 이동(함수라도 실행하고 다음라인으로 넘어감)
F11: 줄단위로 이동(함수라면 내부로 들어감)
ctrl + F2: 책갈피 설정
F2: 위에서 설정한 책갈피들을 이동하여 다님.
<참조: http://dd00oo.tistory.com/entry/%EB%B9%84%EC%A3%BC%EC%96%BC%EC%8A%A4%ED%8A%9C%EB%94%94%EC%98%A4-%EB%8B%A8%EC%B6%95%ED%82%A4>
ctrl + space: namespace 리스트 보여주기
ctrl + shift + space: 변수, 함수 리스트 보여주기
F9: 브레이크 포인트
F7: 빌드
F5: 빌드 + 실행(F9로 설정한 브레이크 포인트에서 멈춤)
F10: 줄단위로 이동(함수라도 실행하고 다음라인으로 넘어감)
F11: 줄단위로 이동(함수라면 내부로 들어감)
ctrl + F2: 책갈피 설정
F2: 위에서 설정한 책갈피들을 이동하여 다님.
<참조: http://dd00oo.tistory.com/entry/%EB%B9%84%EC%A3%BC%EC%96%BC%EC%8A%A4%ED%8A%9C%EB%94%94%EC%98%A4-%EB%8B%A8%EC%B6%95%ED%82%A4>
2016년 4월 20일 수요일
Visual Studio에서 영상 디버깅하기
디버깅창에서 이미지를 보여주는 플러그인
Opencv 이미지타입 지원.
vs2012 이상만 지원.
https://visualstudiogallery.msdn.microsoft.com/e682d542-7ef3-402c-b857-bbfba714f78d
설치한 후, 보기->다른창->Image Watch를 쓰면 된다. 특히, Image Watch에서 마우스 우클릭하여 Auto Contrast를 하면 편하게 화면을 볼 수 있다.
설치한 후, 보기->다른창->Image Watch를 쓰면 된다. 특히, Image Watch에서 마우스 우클릭하여 Auto Contrast를 하면 편하게 화면을 볼 수 있다.
2016년 4월 19일 화요일
visual studio 폴더 만들기
if (CreateDirectory(OutputFolder.c_str(), NULL) ||
ERROR_ALREADY_EXISTS == GetLastError()){
// 파일생성이 실패하고 그 이유가 이미 존재했기때문이라면.
// DoSomthing(...)
}
else {
// 만든경우 할일...
}
<출처: http://stackoverflow.com/questions/9235679/create-a-directory-if-it-doesnt-exist>
ERROR_ALREADY_EXISTS == GetLastError()){
// 파일생성이 실패하고 그 이유가 이미 존재했기때문이라면.
// DoSomthing(...)
}
else {
// 만든경우 할일...
}
<출처: http://stackoverflow.com/questions/9235679/create-a-directory-if-it-doesnt-exist>
2016년 3월 8일 화요일
Image Watch, visual studio에서 opencv의 mat의 내용을 debugging하면서 볼 수 있게 해주는 프로그램
문제: Visual Studio에서 opencv의 mat의 내용을 디버깅시에 보고싶다.
해결:
Image Watch라는 확장프로그램으로 깔면 됨.
설명
http://docs.opencv.org/2.4/doc/tutorials/introduction/windows_visual_studio_image_watch/windows_visual_studio_image_watch.html
다운로드 링크
https://visualstudiogallery.msdn.microsoft.com/e682d542-7ef3-402c-b857-bbfba714f78d?tduid=(fcdab6d2cfd3f23d0984fc672e8fbce7)(256380)(2459594)(je6NUbpObpQ-Z7ZbIM7Ie1T98TKXF9Cdhw)()
사용
디버깅모드에서 보기->다른창->Image Watch를 선택하면 됨.
위치와 값을 볼 수 있음
해결:
Image Watch라는 확장프로그램으로 깔면 됨.
설명
http://docs.opencv.org/2.4/doc/tutorials/introduction/windows_visual_studio_image_watch/windows_visual_studio_image_watch.html
다운로드 링크
https://visualstudiogallery.msdn.microsoft.com/e682d542-7ef3-402c-b857-bbfba714f78d?tduid=(fcdab6d2cfd3f23d0984fc672e8fbce7)(256380)(2459594)(je6NUbpObpQ-Z7ZbIM7Ie1T98TKXF9Cdhw)()
사용
디버깅모드에서 보기->다른창->Image Watch를 선택하면 됨.
위치와 값을 볼 수 있음
2015년 12월 21일 월요일
error C2365: 'operator new'
* error C2365: 'operator new'
: Release에서 정상동작, Debug에서 에러를 토해냄.
--> 새로 추가한 헤더가 #ifdef _DEBUG ~ #endif 밑에 뒀는지 확인 후, 위로 옮길 것. 주로 cpp에서 그러함.
Visual Studio에서 다른 에디터에서 열려있어서 열수 없습니다라고 한다면.
* VS 리소스 뷰에서 리소스를 열었을 때, "다른 에디터에서 열려있어서 열수 없습니다"가 나올 때,
--> .suo파일을 지운 후, 재실행 한다.
Visual Studio에서 Release Mode에서 디버깅을 하기위한 설정법
Visual Studio에서 Release Mode에서 Debugging(Break point설정 및 Trace)을 하기위한 설정법
- C/C++ -> 디버깅 정보형식: /Zi
- 링커 -> 일반 -> 증분 링크 사용: No
- 링커 -> 디버깅 -> 디버그 정보 생성: Yes
- 링커 -> 최적화 -> 참조: /OPT:REF, COMDAT Folding: /OPT:ICF
2015년 12월 20일 일요일
Visual Studio 2013에서 C4996 컴파일 에러를 내는 경우
0. error C4996: 에러
1. 이전 VS버전에서 warning을 VS2013에서는 error내는 경우로 error수준 낮추기
>속성>C/C++>전처리기>전처리기 정의에 _CRT_SECURE_NO_WARNINGS 추가하기
2. 그래도 안된다. ex) C4996: 'read': The POSIX name for this ~~~
>위 경로에 _CRT_NONSTDC_NO_DEPRECATE 추가하기
3. 그래도 안된다. 그럼 구글 검색 ㄱㄱ
1. 이전 VS버전에서 warning을 VS2013에서는 error내는 경우로 error수준 낮추기
>속성>C/C++>전처리기>전처리기 정의에 _CRT_SECURE_NO_WARNINGS 추가하기
2. 그래도 안된다. ex) C4996: 'read': The POSIX name for this ~~~
>위 경로에 _CRT_NONSTDC_NO_DEPRECATE 추가하기
3. 그래도 안된다. 그럼 구글 검색 ㄱㄱ
2015년 11월 18일 수요일
Windows에서 AllocConsole로 만든 창에 printf가 나타나지 않는 경우
Dialog를 사용하기에 /SUBSYSTEM:WINDOWS로 되어있는 경우로,
1.
#include <conio.h>
AllocConsole()로 콘솔창을 열고,
2.
output을 redirect해야한다.
freopen("CONIN$", "r",stdin);
freopen("CONOUT$", "w",stdout);
freopen("CONOUT$", "w",stderr);
혹은
3.
OutputDebugStringW(L"Hello"); 을 써도 된다.
1.
#include <conio.h>
AllocConsole()로 콘솔창을 열고,
2.
output을 redirect해야한다.
freopen("CONIN$", "r",stdin);
freopen("CONOUT$", "w",stdout);
freopen("CONOUT$", "w",stderr);
혹은
3.
OutputDebugStringW(L"Hello"); 을 써도 된다.
피드 구독하기:
글 (Atom)