레이블이 visual studio인 게시물을 표시합니다. 모든 게시물 표시
레이블이 visual studio인 게시물을 표시합니다. 모든 게시물 표시

2016년 12월 22일 목요일

visual studio 메모리가 부족합니다.

문제
visual studio로 application을 돌렸는데, '메모리가 부족합니다'라는 창을 띄우면서 죽는 경우.
해결
진짜 메모리가 부족한 경우이다.

1. 먼저 많이 쓰는 메모리 종류가 무엇인지 확인하기.
 - heap인지 stack인지를 확인하기.

2. 프로젝트 -> 속성 -> 링커 -> 명령줄에 아래를 써줌.
/HEAP: 4000000000
혹은
/STACK: 4000000000
byte단위로 숫자를 써주며 위와 같이 쓰면 4기가가 할당된다.

아니면 프로그램에 직접 다음과 같이 써도 된다.
#pragma comment(linker, "/HEAP:4000000000")

위와 같이 한 후, 컴파일하여 실행해본다.

3. 위와 같이 하였는데 컴파일에러(quota not enough)가 나는 경우는 실제 할당하기에 가상 메모리가 부족한 경우이다. 이 경우는 가상 메모리의 크기를 늘려준 후, 다시 시도해본다.

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>

2016년 4월 20일 수요일

Visual Studio에서 영상 디버깅하기

디버깅창에서 이미지를 보여주는 플러그인
Opencv 이미지타입 지원.

vs2012 이상만 지원.

https://visualstudiogallery.msdn.microsoft.com/e682d542-7ef3-402c-b857-bbfba714f78d

설치한 후, 보기->다른창->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>

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를 선택하면 됨.
위치와 값을 볼 수 있음

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. 그래도 안된다. 그럼 구글 검색 ㄱㄱ

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"); 을 써도 된다.