2010-03-03 2 views
7

나는 question has already been asked을 알고 있지만 답을 찾았지만 1 년이 넘었으며 새로운 대안이있는 것처럼 보입니다.어떤 C++ 이벤트/델리게이트 (신호/슬롯) 라이브러리를 선택해야합니까?

그래서 저는 SFML library (실제로는 꽤 멋지다) 게임을 코딩하고 있습니다. 가볍고 빠른 이벤트/위임자 라이브러리를 찾고 있습니다.

몇 가지 연구를하고 옆으로 고전들 ( Boosts.Signals, libsigc++)를 넣어 한 후, 나는 " cpp-events"를 발견했다. 그것은 매우 인기가 있지만 지금은 매우 최근의 도서관이 아니기 때문에 보입니다. 그러나 테스트가 가장 안좋은 것 같습니다. 나는 여기 누군가가 그것을 시도하고 약간의 피드백을 줄 수 있는지 알고 매우 관심이있을 것입니다.

다른 유사하거나 더 나은 옵션이 있습니까? 나는 포럼에서의 답변보다 오히려 실제 프로젝트 (유지 될 것입니다)를 보입니다.

감사합니다.

+0

다른 질문은 새로운 답변 및/또는 수정으로 업데이트 할 수 있습니다. –

답변

3

내 느낌은 http://www.codeproject.com/KB/cpp/ImpossiblyFastCppDelegate.aspx이 게임을 구현하는 데 적합하다는 것입니다. 동적 메모리 할당, 합리적인 성능, 간단한 디버깅 => 게임용.

나는 이전에 비슷한 대리자를 사용해 왔지만이 구현은 더욱 효율적으로 보입니다.

스레드 안전성에 대해 언급 한 사람이 있지만 스레드간에 사용되는 대리인 기반 인터페이스가 마음에 들지 않습니다. 소규모 프로젝트에서는 제대로 작동하지만 팀이 성장하면 재앙의 가능성도 있습니다. 나는 또한 그러한 특징의 성능 함의에 의문을 제기 할 것이다.

3

또한 부스트 시그널의 스레드 세이프 버전 인 Boost.Signals2을 살펴보십시오. 중간 크기의 프로젝트에서이 도구를 사용하고 있으며 매우 만족합니다.

+0

+1 헤더 안전성이 있기 때문에 스레드 안전성이 필요하지 않은 경우에도 Signals2를 사용합니다. – Tronic

관련 문제