본문 바로가기

Programming

CALLBACK 상수 WinDef.h 파일에 정의 #elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) #define CALLBACK__stdcall #define WINAPI__stdcall #define WINAPIV__cdecl #define APIENTRYWINAPI #define APIPRIVATE__stdcall #define PASCAL__stdcall #else 더보기
배열 개수 확인하는 방법 STL을 사용하지 않은 상태에서는 항상 배열의 크기를 정수형으로 가지고 다녀야 한다. 구조체나 클래스를 생성할때도 배열의 사이즈를 따로 변수화 해서 가지고 다니게 되는데, 기본적인 함수만으로 개수를 파악 할 수 있다. 가령 아래와 같이 선언했다고 하자. int a[6]; sizeof(a); // 배열 a의 전체 크기(24byte) sizeof(*a);// 배열 a중 원소 하나의 크기(4byte); sizeof 로 전체와 개별의 크기를 파악 할 수 있다. 그렇다면?! 전체 / 하나 = 개수 이지 않던가?! 따라서 아래와 같은 식으로 호출 하는 것이 가능하다. int numberOfArray = sizeof(a) / sizeof(*a); for(int i = 0 ; i < numberOfArray ; i++.. 더보기
문자열과 숫자형 변환 가끔 문자열과 숫자열을 서로서로 바꿔서 사용하거나 문자열에 숫자를 집어넣어서 표기 해야 하는 때가 종종(꽤 많이..ㅋ) 발생하게 되죠? 한동안 많이 버벅 였지만, 다른 사람들은 버벅이지 말라고 정리를 하게 되었습니다ㅎㅅㅎ C Style #include #include int main(){ /* 문자 → 숫자 */ char *testChar1 = "12345"; char *testChar2 = "abcde"; int testInt1; int testInt2; testInt1 = atoi(testChar1); testInt2 = atoi(testChar2); printf("문자 : %s\n", testChar1); printf("숫자: %d\n", testInt1); printf("\n"); printf(".. 더보기
메모리 누수 검사 #define _CRTDBG_MAP_ALLOC #include #include #include #include int main(){ _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); int *a; //변수 선언 /* 메모리할당 */ a = new int[10]; /* 메모리해제 */ delete a; _CrtDumpMemoryLeaks(); system("pause"); exit(EXIT_SUCCESS); } 기본코드 입니다. #define _CRTDBG_MAP_ALLOC #include #include 는 순번에 맞춰서 입력해 주어야 합니다.( MSDN 출처 ) _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG.. 더보기
개발환경 구축 목차 다운로드 & 설치 테스트 다운로드 & 설치 Nvidia 사이트에 접속 엔비디아존 > CUDA Zone > 개발자 ZONE 을 차례로 들어간다. 좌측 메뉴에서 GPU Computing > Downloads 를 선택한다. 자신의 운영체제를 선택한다. 운영체제에 맞는 드라이버, toolkit, SDK를 각각 다운로드 받는다. ※ 노트북용은 별도로 존재하므로 노트북 사용자는 해당 Driver를 다운받는다. 테스트 설치가 잘 되었는지 확인하기 위해서 커맨드 창에서 "nvcc --version"을 실행한다 정상적으로 동작하는지 확인하기 위해 SDK 샘플 코드가 있는 곳으로 가서 bandwidthTest.exe 파일을 실행한다. ※ default 설치 시 C:\ProgramData\NVIDIA Corporati.. 더보기