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

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

0 Comments

selectany 전역 변수의 실종

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

0 Comments

얼그레이 – 프로젝트

소개 EarlGrey project has begun its history at April, 2009. Every co-founder, gwkang, initialjk, joe.joey, banyaji, and kaistizen once worked together to build a 3D social network service and deliver…

0 Comments

모듈로 n 카운터 만들기

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

1 Comment

Visual C++ 리팩터링 및 코드 정리 지침

이 글 버전: 1.0 업데이트 계획 있음 PDF 다운로드 레거시 프로젝트는 그 양이 방대하고 고칠 부분이 많으므로 처음부터 큰 목표를 정해서 작업하면 의욕만 떨어진다. 여기서는 과거에 리팩터링 작업을 할 때의…

3 Comments

빌드의 병목 지점

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

3 Comments

Assert 의 모든 것!

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

0 Comments

C++ 프로젝트의 빌드 속도 개선하기 – UnityBuild편

UnityBuild는 C++ 에 적용 가능한 컴파일 기법이다. 일부 상황에서, 특히 대규모 프로젝트에서 컴파일 시간을 놀랄 만큼 줄여준다고 한다. 이 기법을 Xoreax Incredibuild와 같은 분산 빌드 도구와 함께 사용하면 극적으로 성능…

0 Comments