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

윈도우 프로그래밍에서 빼놓지 않고 등장하는 헤더가 무엇일까? 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

얼그레이 – 빌드하는 법

개요 Earlgrey 라이브러리는 기본적으로 Visual Studio 2008 + Feature Pack 조합이면 별도의 작업을 하지 않아도 빌드가 된다. 그러나 구미에 맞게 외부 라이브러리와 연동하거나 성능 및 기능 옵션을 조정할 수도 있다.…

0 Comments

얼그레이 – 빌드 도구

Introduction Earlgrey has now two kinds of build tools. Third-party tools Custom tools Third-party tools Build tools developed by other open source communities are now placed in /trunk/vendor path. We…

0 Comments

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

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

0 Comments

얼그레이 – 태스크큐

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

0 Comments

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

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

0 Comments