Assert 의 모든 것!

런타임 ASSERT, VERIFY, 그리고 TRACE Using ASSERT(), VERIFY(), and TRACE() in non-MFC Applications에 따르면 ASSERT, VERIFY, TRACE 는 다음과 같은 차이를 보인다. ASSERT(expr)는 TRUE, FALSE(0)로 판별 가능한 표현식을 매개변수로 받는다.…

0 Comments

심볼 서버로 디버깅 편하게 하기

프로그램을 개발하고 유지보수하다 보면 버그가 있기 마련이다. 게임 속의 캐릭터가 벽을 뚫고 지나간다던가, 퀘스트 조건이 충족됐는데도 보상이 이뤄지지 않는 일이 생긴다. 버그야 가지각색이지만 그 중에서도 가장 곤란한 상황은 프로그램이 죽는…

1 Comment

프로그래밍 퀴즈 – Factorial

문제 팩토리얼 !n 을 구현해보라. 컴파일 타임에 값 구하기 wikipedia:Template_metaprogramming|템플릿 메타프로그래밍에 제시된 팩토리얼은 다음과 같다. template <int N> struct Factorial { enum { value = N * Factorial<N - 1>::value…

0 Comments

프로그래밍 퀴즈 – 상속

#include <iostream> using namespace std; class Window { public: Window() { Create(); } virtual ~Window() { Destroy(); } virtual void Create() { cout << "Base class Window" << endl; }…

0 Comments

프로그래밍 퀴즈 – 1의 개수

문제 주어진 정수를 컴퓨터에서 내부적으로 표현할 때 1로 설정된 비트의 수를 반환하는 함수를 작성하라. 해결책 1 정수값에 따른 1의 개수를 미리 계산해놓는 방법이 있다. int numOnesInBinary(int number) { if(number ==…

0 Comments

프로그래밍 퀴즈 – 원주율 구하기

질문 상수로 정의한 원주율 PI 값이 없다고 해보자. 원주율 값을 직접 구해야 한다면 어떻게 접근하겠는가? 해결책: 몬테카를로 몬테카를로 시뮬레이션(Monte CarloSimulation)이란 통계적 접근 방법이 있다. 1.먼저 정사각형 안에 한 꼭지점을 중심으로…

0 Comments

얼그레이 – 태스크큐

프로세스 프로세스 우선순위: 클래스 ProcessInitializer 스레드 성능 개선하기 암달의 법칙 성능은 프로세서의 개수에 비례하지 않는다 싱글프로세서에서 작업시간 1이 걸리는 일을 프로세서가 5개인 머신에서는 작업시간이 1/5로 줄어야 하지만, 현실적으로 불가능하다. 왜냐하면,…

0 Comments

얼그레이 – 인텔 스레드 빌딩 블록

멀티코어 프로세서에서 병렬처리를 편리하게 해주는 TBB TBB는 태스크 기반 병렬처리를 지원하는 C++ 라이브러리 이다. TBB는 크게 알고리즘, 컨테이너, 메모리 할당자, 공유 자원을 보호하는 잠금 유틸리티, 태스크 스케줄러 등으로 구성돼 있다.…

0 Comments