Coding

라이브러리 설계, 구현, 유지에 좋은 습관

glibc(GNU libc) 관리자이며 개발자인 Ulrich Drepper 의 글 중에 ‘ Good Practices in Library Design, Implementation, and Maintenance’ 는 비단 라이브러리 개발 뿐 아니라 일반 프로젝트를 진행할때도 유용한 여러 가이드라인을 제시한다. 간략

printf() 함정에 빠지다

C/C++ 프로그래밍을 10년 넘게 해오면서 아마도 언젠가는 이런 문제를 부딪힌 적이 있었을 지도 모른다. 다만 잊어버리고, 다음에 또 반복하고… 몇 주에 걸

Duff's Device

Duff’s Device 는 연속적인 복사 작업을 수행하는 알고리즘에 있어 C 언어로 구현된 가장 최적화된 기법이다. 일반적으로 어셈블리에서 사용되는 기술을 switch 문과 루프 풀기(Loo

멀티쓰레드 프로그래밍 규칙

멀티 쓰레드 방식 프로그래밍은 강력한 효율을 제공하지만 그만큼 프로그래머를 힘들게 하기도 한다. 그렇다면, 멀티 쓰레드 방식을 대체할 수 있는 방법은 무엇이 있을까

Quake3 Source Skimming

퀘이크3(Quake3) 소스가 GPL 라이센스로 풀리면서 나같은 사람도 한번 얼핏 훑어볼 기회가 생겼다. 얼핏 훑어본 퀘이크3 소스 코드의 특징은 다음과 같다. 메모