매크로에 대처하는 우리의 자세
윈도우 프로그래밍에서 빼놓지 않고 등장하는 헤더가 무엇일까? Hello World!를 찍을 때 필요한 <stdio>나 <iostream>? C/C++의 세계를 아울러 보면 그럴지도 모른다. 그러나 윈도우 프로그래밍에만 등장하는 헤더를 놓고 따진다면 <windows.h>도 꽤 강력한…
윈도우 프로그래밍에서 빼놓지 않고 등장하는 헤더가 무엇일까? Hello World!를 찍을 때 필요한 <stdio>나 <iostream>? C/C++의 세계를 아울러 보면 그럴지도 모른다. 그러나 윈도우 프로그래밍에만 등장하는 헤더를 놓고 따진다면 <windows.h>도 꽤 강력한…
전역 변수의 범위 전역 변수를 선언하면 선언한 오브젝트에만 할당된다. 다른 오브젝트에서 그 전역 변수를 사용하기 위해서는 사용하고자 하는 파일에서 extern 지시자를 이용해야만 한다. 그게 불편하다고 무턱대고 공용 헤더 파일에 선언했다가는…
소개 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…
주의 Common problems in multi-core programming, Part 2: Heavily contended locks 중 핵심만 발췌 번역한 글이다. 과도한 잠금 경합 경쟁 조건을 방지하려고 잠금을 사용하면, 잠금에 대한 경합이 지나치게 발생하여 성능…
스레드, 데이터 경쟁, 교차 잠금, 라이브 잠금 Common problems in multi-core programming, Part 1: Threads, data races, deadlocks, live locks 중 핵심만 발췌 번역한 글이다. 지나치게 많은 스레드 스레드가 너무…
스레드, 데이터 경쟁, 교차 잠금, 라이브 잠금 Common problems in multi-core programming, Part 1: Threads, data races, deadlocks, live locks 중 핵심만 발췌 번역한 글이다. 지나치게 많은 스레드 스레드가 너무…
출처: Great Code 1권: 하드웨어의 이해 본문=3장. \'2진법 연산과 비트 연산\'에서 다룬 주제 중 하나입니다. 모듈로 n(modulo-n) 카운터는 0부터 n-1까지 증가하며, 이후 다시 0으로 돌아간다. 효율적인 모듈로 n 카운터를 만드는…
이 글 버전: 1.0 업데이트 계획 있음 PDF 다운로드 레거시 프로젝트는 그 양이 방대하고 고칠 부분이 많으므로 처음부터 큰 목표를 정해서 작업하면 의욕만 떨어진다. 여기서는 과거에 리팩터링 작업을 할 때의…
C++ 프로젝트의 빌드 속도 개선하기 이론편/UnityBuild 편의 후속편이라고 할까? 특히 이론편에서 다룬 Incredibuild 라는 분산 빌드 제품에 대한 후기 같은 것을 쓰려 한다. Incredibuild 라이선스를 구매하면 PC 한 대당 논리…
런타임 ASSERT, VERIFY, 그리고 TRACE Using ASSERT(), VERIFY(), and TRACE() in non-MFC Applications에 따르면 ASSERT, VERIFY, TRACE 는 다음과 같은 차이를 보인다. ASSERT(expr)는 TRUE, FALSE(0)로 판별 가능한 표현식을 매개변수로 받는다.…