c11 추가된 내용 1999년에 c99가 발표되고 12년이 지난 2011년에 새로운 스펙의 2011의 c11이 발표됐다. _Generic 뿐만 아니라 내가 주목해서 살펴본것은 multi core 시대에 맞춴 threading 관련 기능 지원이다. 자세한 내용은 아래 URL을 참조 http://ko.wikipedia.org/wiki/C11 http://www.drdobbs.com/cpp/c-finally-gets-a-new-standard/23280044.. C언어 2015.03.20
tokyocabinet threading error tokyocabinet을 사용중인데 잘 되다가 가끔 threading error이라는 메세지를 리턴한다. 읽을려는 파일이 read only라서 thread가 충돌할 일이 없다. 파일을 직접 열어서 확인하니 파일을 읽기 전용으로 열었는지에 대한 확인이 없고 절대 패스에 대해 lock을 거는 것 같다. tcpathlock() 이부분에서 threading .. C언어 2015.03.18
thread deadlock debugging http://en.wikibooks.org/wiki/Linux_Applications_Debugging_Techniques/Deadlocks 쓰레드 디버깅 방법( linux) 모든 thread에 대해서 backtrace (gdb) thread apply all bt 특정 thread 선택 (gdb) thread 4 스택위치 지정 (gdb) frame 2 레지스터 정보 확인 (gdb) info reg ... r8 0x6015a0 6296992 뮤텍스 정보 확인 (gdb) p *(pthread_mutex_t*)0x6015a0 pthrea.. C언어 2015.03.06
pthread automic operation thread programming에서는 int 값 하나는 변경하는데도 신경을 써야한다. int a; a++; <= a 라는 변수를 thread가 서로 참조하는 변수라면 이것도 lock을 걸어줘야 한다. 이건 것 까지 하면서 thread 프로그래밍을 해야 하나 싶을 정도로 귀찮고 짜증나는 일이라 쉽게 풀수 있는 방법을 찾았더니 아래와.. C언어 2015.03.04
pthread_create@@GLIBC_2.2.5 (in /lib64/libpthread-2.12.so) http://stackoverflow.com/questions/15659832/does-openmp-allocate-memory-and-free-all-after 아래와 같이 pthread_create에 대해 메모리 릭 에러를 확인할수 있는데(valgrind) 컴파일러에 따라 나타나는 현상이라고 한다 gcc(4.4.6)에서는 아래와 같이 메세지가 나오지만 icc( intel compiler )로 컴파일 하면 정상적으로 나온다.. C언어 2015.03.03