내가 C 언어를 좋아하는 이유

베이직으로 프로그래밍을 배운 이후로 여러 프로그래밍 언어를 익혔다. 그 중에는 자격증이나 학점을 위해 배운 것도 있고, 순수히 개인적인 관심사를 위해서 배운 것도 있다. 요즘은 PHP로 밥벌이를 하고 있지만, PHP를 제일 좋아하는 것은 아니다. ...

3월 20, 2014 · 2 분 · Sangheon Han

C 언어 헤더 파일 간 의존 관계 빌드하기

C 언어로 개발하다 보면 헤더 파일들끼리 의존성이 생겨나는데, 그 수가 적을 때는 수동으로 Makefile에 적어도 되지만 많아질 경우 수동으로 하기는 곤란해진다. 이럴 때 gccmakedep이라는 도구를 사용하면 자동으로 이런 헤더 사이 의존관계를 처리 할 수 있다. 최근에는 gccmakedep이 없는 경우가 보통이라 gcc -M 옵션을 사용하는 것을 더 추천한다. ...

10월 8, 2013 · 1 분 · Sangheon Han

멀티 프로세스끼리 간단한 데이터 공유 방법 – mmap()

멀티 프로세스끼리는 멀티쓰레드처럼 직접 변수에 접근하기 어렵기 때문에 공유 메모리 등과 같은 IPC를 이용해서 데이터를 주고 받는데, 복잡하고 다양한 기능이 필요없다면 메모리맵을 통해 서로 간단히 데이터를 공유 할 수 있다. ...

9월 23, 2012 · 1 분 · Sangheon Han

멀티프로세스 데몬에서 락킹(Locking)하기

pthread를 사용하는 멀티쓰레드 데몬이라면 pthread_mutex_lock()을 사용해 잠금을 할 것이며, 멀티프로세스 데몬이라면 세마포어를 사용 할 것이다. ...

9월 21, 2012 · 1 분 · Sangheon Han

프로세스를 지정한 CPU에서 실행하기

요즘 개인용 컴퓨터도 멀티코어를 장착하고 나올 정도로 멀티프로세서(Multiprocessor)가 흔해졌습니다. 덕분에 멀티프로세스(Multiprocess) 프로그래밍으로 개발한 데몬과 같은 것을 실행시켜 보면 여러 프로세서에 적당히 나뉘어 실행되는 것을 쉽게 확인 할 수 있습니다. ...

4월 19, 2010 · 4 분 · Sangheon Han