๊ฑฐ์ง๋ง์ ์ํ๋ ์๋ น์ ๊ฑฐ์ง๋ง ์์ ์ฝ๊ฐ์ ์ง์ค์ ์์ด ๋๋๊ฑฐ๋. - kei toume "์์คํฐ๋ฐ์ด๋ฅผ ๋
ธ๋ํ๋ฉฐ"๋ผ๋ ๋งํ์์
์ผ๋ฐ #
- ๋ฉ์ธ ํ๋ก์ ํธ ๋งํฌ :
http://libsigc.sourceforge.net
- ํ์ฌ 2.0๊น์ง ๋ฆด๋ฆฌ์ค.
- ์๊ทธ๋-์ฌ๋กฏ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก๋ boost::signal, libsigc++, Qt signal-slot ์์คํ ์ ๋ํ์ ์ผ๋ก ์ธ๊ธํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
- sigcppํํ ๋ฆฌ์ผ - ๊ณต์ ํํ ๋ฆฌ์ผ์ ๋๋ค.
http://libsigcx.sourceforge.net/ - sigc++์ ๋ฉํฐ์ฐ๋ ๋ ํ๊ฒฝ์์ ์ฌ์ฉ๊ฐ๋ฅํ๋๋ก ๊ณ ์น ๋ฒ์ ์
๋๋ค. ์์ ์ฑ์ ๋ฏธ์ง์.
์๊ฐ #
libsigc++ ๋ ํ์ค C++์์์ ํ์
์์ ์ฑ์ ๋ณด์ฅํ๋(typesafe) ์ฝ๋ฐฑ ์์คํ
์ ๊ตฌํํ๊ณ ์์ต๋๋ค. ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ ํธ(signal)์ ์ ์ํ๊ณ ์ด๋ค ์ ํธ๋ฅผ ์ ์ญํจ์๊ฑด ๋งด๋ฒํจ์์ด๊ฑด๊ฐ์ ์ ์ ์ด๊ฑฐ๋ ๊ฐ์ํจ์์ฌ๋ถ์ ๊ด๊ณ์์ด ๋ชจ๋ ํน์ ์ฝ๋ฐฑ ํจ์์ ์ฐ๊ฒฐํ๋ ์์
์ ํ ์ ์์ต๋๋ค.
๋ํ ๋น์ทํ ํํ๊ฐ ์๋ ์ฝ๋ฐฑํจ์์์ ์ฐ๊ฒฐ์ ์ํ ์๋ตํฐ(adaptor)ํด๋์ค๋ฅผ ๋ด๊ณ ์์ผ๋ฉฐ, ๋ค๋ฅธ C++ ์ฝ๋ฐฑ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ง์ง์๋ ํจ์๊ตฌ์กฐ๋ฅผ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ํฉ๋๋ค.
์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ LGPL ๋ผ์ด์ผ์ค๋ฅผ ๋ฐ๋ฆ
๋๋ค.
๊ธฐ๋ฅ #
- ์ปดํ์ผ๋ ์ฒ๋ฆฌ๋๋ ํ์ ์ ์์ ํ ์ฝ๋ฐฑ (์ค์๊ฐ ๊ฒ์ฌ๋ณด๋ค ๋น ๋ฆ ๋๋ค)
- ํ ํ๋ฆฟ ์ด๋ฆ๊ณผ ํจ๊ป ์ ํํ๊ฒ ์์ค๋ผ์ธ์๊ฐ ๋ณด๊ณ ๋๋ ํ์ ์์ ์ค๋ฅ๊ฒฝ๊ณ (ํค๋ํ์ผ์ ํ ํ๋ฆฟ ์ถ์ ์คํจ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค)
- ์ปดํ์ผ๋ฌ ํ์ฅ์ด๋ ๋ฉํ ์ปดํ์ผ๋ฌ๊ฐ ํ์ํ์ง ์์ต๋๋ค.
- ๋์ ๊ฐ์ฒด์ ์ ํธ๋ฅผ ์ ์ ํ๊ฒ ๋ค๋ฃจ๊ณ ์์ต๋๋ค(๊ฐ์ฒด๋ค์ ์ ๊ฑฐํ ๋ ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค)
- ์ด๋ ํ ์์ค์์๋ ํ์ฅ๊ฐ๋ฅํ API: Slot, Connection, Object, Signal
- ํ์ฅ์ ์ฌ์ฉํ๋๋ฐ ์์ด์ ๊ธฐ๋ณธ ์ปดํผ๋ํธ๋ฅผ ๋ณ๊ฒฝํ ํ์๊ฐ ์์ต๋๋ค.
- ์ฌ์ฉ์ ์ ์๊ฐ๋ฅํ ๋ง์ฌ๋ฌ(marshaller)
- ๋ค์ํ ์ปดํ์ผ๋ฌ์ ํ๋ ํผ ์ง์(VC, mingw, gcc, ๋ฆฌ๋
์ค, ์๋ผ๋ฆฌ์ค, HP-UNIX, ์๋์ฐ์ฆ๋ฑ๋ฑ)
์๊ทธ๋-์ฌ๋กฏ ๋ฐฉ์์ด๋? #
์ฌ๊ธฐ์๋ C++์ ์ธ๊ธํ๊ณ ์๋ค๋ ๊ฒ์ ๋จผ์ ๋งํด๋ก๋๋ค. ์๊ทธ๋-์ฌ๋กฏ์ ํ๋์ ํ๋ก๊ทธ๋๋ฐ ๊ฐ๋
์ ๋งํฉ๋๋ค. ํด๋์ค ๋๋ ๋ชจ๋์ ์์ฑํ๊ณ ์ด๋ค ํด๋์ค๊ฐ ๋ช๋ช ๋ฐ์ดํ๋ฅผ ํด๋์ค ๋ฐ์ผ๋ก ์ ์กํ๊ธฐ๋ฅผ ์ํ ๊ฒฝ์ฐ, ์๋ฅผ ๋ค์๋ฉด:
class mygame {
public:
void startgame(); // ์ฆ์ ๋ฐํ๋จ!
};
์ด์ ๊ฒ์์ด ๋๋์๋ง์, ํด๋์ค๋ ๋ค๋ฅธ ํด๋์ค๋ค์๊ฒ๋ ์ด ์ฌ์ค์ ๋งํ๊ณ ์ถ์ ๊ฒ๋๋ค. ์ด๊ฒ์ ์ด๋ฒคํธ์ ์ํด ์ฒ๋ฆฌํ ์ ์๊ฒ ์ง๋ง, ์ค๋ฒ๋ก๋ฉ๊ณผ ๊ฐ์ ๋ค๋ฅธ ๊ณจ์น์ํ ๊ฐ๋
๋ค์ ๋์
ํด์ผํ๊ฒ ์ฃ . ์ด๋ ๊ฒ ํ๊ธฐ์ํด์ ์๊ทธ๋-์ฌ๋กฏ ๋ฐฉ์์ ๋์
ํ๋ค๋ฉด, mygame์ gameterminated()๋ผ๊ณ ํ๋ ์ ํธ(signal)์ ์ผ์ฃผ๊ธฐ๋ง ํ๋ฉด ๋๋ฉฐ, ๋ง์ฝ ๋ค๋ฅธ ์ด๋ค ๊ฐ์ฒด๊ฐ ์ด ์ ํธ์ ์ฐ๊ฒฐ๋์ด์๋ค๋ฉด ๊ทธ๊ฒ์ ์์ ์ ์ฌ๋กฏ ํจ์์์์ ์ ๋ณด๋ฅผ ๋ฐ๊ฒ ๋ ๊ฒ๋๋ค.








