매크로에 대처하는 우리의 자세

윈도우 프로그래밍에서 빼놓지 않고 등장하는 헤더가 무엇일까? Hello World!를 찍을 때 필요한 <stdio>나 <iostream>? C/C++의 세계를 아울러 보면 그럴지도 모른다. 그러나 윈도우 프로그래밍에만 등장하는 헤더를 놓고 따진다면 <windows.h>도 꽤 강력한…

Continue Reading

selectany 전역 변수의 실종

전역 변수의 범위 전역 변수를 선언하면 선언한 오브젝트에만 할당된다. 다른 오브젝트에서 그 전역 변수를 사용하기 위해서는 사용하고자 하는 파일에서 extern 지시자를 이용해야만 한다. 그게 불편하다고 무턱대고 공용 헤더 파일에 선언했다가는…

Continue Reading

모듈로 n 카운터 만들기

출처: Great Code 1권: 하드웨어의 이해 본문=3장. \'2진법 연산과 비트 연산\'에서 다룬 주제 중 하나입니다. 모듈로 n(modulo-n) 카운터는 0부터 n-1까지 증가하며, 이후 다시 0으로 돌아간다. 효율적인 모듈로 n 카운터를 만드는…

Continue Reading

빌드의 병목 지점

C++ 프로젝트의 빌드 속도 개선하기 이론편/UnityBuild 편의 후속편이라고 할까? 특히 이론편에서 다룬 Incredibuild 라는 분산 빌드 제품에 대한 후기 같은 것을 쓰려 한다. Incredibuild 라이선스를 구매하면 PC 한 대당 논리…

Continue Reading

Assert 의 모든 것!

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

Continue Reading
Close Menu