위에 ref_count 라는 변수는 예시입니다. 스레드에서는 저런 식으로 사용해야 하고,
g_atomic_int_inc 함수가 임계 영역을 설정해주기 때문에 별도로 뮤텍스를 사용하지 않습니다.
만약 g_atomic_int_inc 함수를 사용하지 않는다면 별도로 뮤텍스 락을 걸어줘야겠죠.
전역변수 A를 클라이언트가 원할 때마다 1씩 증가시켜주는데 이 변수를 증가 요청한지 30분이 지날 때마다 1씩 감소시켜주고 싶습니다. 예를 들어서 이 변수를 5분, 5분, 10분 간격으로 증가시켰다면 감소시킬 때도 5분, 5분, 10분마다 한번씩 감소시켜주고 싶습니다. 어떻게 할 수 있을까요?
전역변수A가 ref_count 에 대응한다고 보면 되고,
5분, 10분이 interval 변수에 대응한다고 보시면 됩니다.
위 코드를 수정하셔서 사용하시면 되겠습니다.
헤더 파일 등 개발자를 위한 파일은 별개의 패키지로
헤더 파일 등 개발자를 위한 파일은 별개의 패키지로 제공하기도 합니다. ( 예를 들어 gtk 패키지는 사용자를 위한 라이브러리만, gtk-devel 패키지는 헤더 파일과 문서 등 )
헤더파일이 없다고 나오는 그 에러메시지를 그대로 복사해서 구글에 넣어보시면 누군가가 이미 질문을 했고 무슨 패키지를 설치하라는 답변도 있을 겁니다.
좋은 하루 되세요!
#include <gtk/gtk.h>
컴파일 방법
참고 자료
https://developer.gnome.org/gtk3/stable/gtk-getting-started.html
위에 ref_count 라는 변수는 예시입니다.
위에 ref_count 라는 변수는 예시입니다. 스레드에서는 저런 식으로 사용해야 하고,
g_atomic_int_inc 함수가 임계 영역을 설정해주기 때문에 별도로 뮤텍스를 사용하지 않습니다.
만약 g_atomic_int_inc 함수를 사용하지 않는다면 별도로 뮤텍스 락을 걸어줘야겠죠.
https://kldp.org/node/161741
전역변수A가 ref_count 에 대응한다고 보면 되고,
5분, 10분이 interval 변수에 대응한다고 보시면 됩니다.
위 코드를 수정하셔서 사용하시면 되겠습니다.
#include <gtk/gtk.h>
...
정말 질문 그대로 g_timeout_add()라는 함수 하나를 사용하기 위해 GTK를 링크하려고 하시는 거라면...
...하지 마세요. 하는 순간 끝없는 삽질과 "어 왜 내 컴퓨터에서는 되는데 저 컴퓨터에서는 안되지?" 하고 머리를 부여잡고 괴로워하는 상황을 만나게 될 것입니다.
이건 좀 오버해서 비유하자면 "제가 저녁으로 상추쌈을 먹고 싶은데 지나가다 보니 옆동네에 상추밭 500평짜리가 매물로 나왔더군요, 부동산 거래는 첨인데 어떻게 하면 되죠?" 이런 식의 이야기입니다. (..음 좀 심했나.. -.-)
원하는 기능을 어떻게 구현하면 되는지 C/C++에서 쓰레드 사용법을 익힌 다음에 직접 짜세요. 그편이 예상되는 삽질의 총량을 최소 10분의 1로 줄여줄 겁니다.
댓글 달기