๊ธ์ ์์ฌ๋ ์ ๊ธ์์ ๊ฐ์ ธ์์ต๋๋ค.
๊ณผ๊ฑฐ์
ํฌ๋ํํธ ํํฐ ๋๋ฒ๊น
์ด์ ๊ธฐ์ฌ์์ ๋ฏธ๋์ด ์คํธ๋ฆฌ๋จธ์ ๋ฐ์ดํฐ ์ด๋ ๋ฉ์ปค๋์ฆ์ ์ดํด๋ณธ ํ ์ฌ๊ธฐ์ ์จ๊ฒจ์ง ์ํ์ ๋ํด ์ด์ผ๊ธฐํ๋ ๊ฒ์ด ๋ ผ๋ฆฌ์ ์ผ ๊ฒ์ ๋๋ค. "๋ฐ์ดํฐ ํ๋ฆ" ์์น์ ํน์ง ์ค ํ๋๋ ํ์์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด ๋ฐ์ดํฐ ํ๋ฆ์ ์์ค์ ์์นํ ํํฐ์์ ๋ฐ์ํ๊ณ ํ๋ฆ ๊ฒฝ๋ก ๋์ ์์นํ ํํฐ๊ฐ ์ด๋ฏธ ๋ฐํ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ํด์ ํ๋ค๋ ๊ฒ์ ๋๋ค. ํ์. ๋ํ ์ค๊ฐ ์ง์ ์ด๋๊ฐ์์ ์๋ก์ด ๋ฐ์ดํฐ์ ์์ฑ ๋ฐ ํ๊ดด๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ํด์ ๋ ๋ฐ์ดํฐ ๋ธ๋ก์ ์์ฑํ ํํฐ๊ฐ ์๋ ๋ค๋ฅธ ํํฐ์ ์ํด ์ํ๋ฉ๋๋ค.
ํฌ๋ช ํ ๋ฉ๋ชจ๋ฆฌ ๋ชจ๋ํฐ๋ง์ ๊ด์ ์์ ํํฐ๋ ์ ๋ ฅ ๋ธ๋ก์ ์์ ํ ๋ ์ฒ๋ฆฌ ํ ์ฆ์ ํ๊ดดํ๊ณ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ํ๊ณ ์ถ๋ ฅ ๋ฐ์ดํฐ๊ฐ ์๋ ์๋ก ์์ฑ๋ ๋ธ๋ก์ ์ถ๋ ฅ์ ๋ฃ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ ๋๋ค. ์ด ๊ฒฝ์ฐ ํํฐ์ ๋ฉ๋ชจ๋ฆฌ ๋์๋ฅผ ์ฝ๊ฒ ์ถ์ ํ ์ ์์ต๋๋ค. ๋ถ์๊ธฐ๊ฐ ํํฐ์ ๋์๋ฅผ ๊ฐ์งํ๋ฉด ๋ค๋ฐ๋ฅด๋ ํํฐ๊ฐ ๋ค์ด์ค๋ ๋ธ๋ก์ ์ ๋๋ก ํ๊ดดํ์ง ์๊ณ ์ค๋ฅ๊ฐ ์๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ๊ณ ์ฑ๋ฅ ์ ์ง์ ๊ด์ ์์ ๋ณผ ๋ ๋ฐ์ดํฐ ๋ธ๋ก ์์ ์ ๋ํ ์ด๋ฌํ ์ ๊ทผ ๋ฐฉ์์ ์์ฐ์ ์ด์ง ์์ต๋๋ค. ์ ์ฉํ ์๋ชจ ์์ด ๋ฐ์ดํฐ ๋ธ๋ก์ ๋ํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น/ํด์ ํ๋ ๋ง์ ์์ ์ผ๋ก ์ด์ด์ง๋๋ค.
์ด๋ฌํ ์ด์ ๋ก ๋ฏธ๋์ด ์คํธ๋ฆฌ๋จธ ํํฐ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๋๋ฅผ ๋ฆ์ถ์ง ์๊ธฐ ์ํด ๋ฉ์์ง๋ฅผ ๋ณต์ฌํ ๋ ๊ฐ๋ฒผ์ด ๋ณต์ฌ๋ณธ์ ๋ง๋๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํฉ๋๋ค(์ด์ ๊ธฐ์ฌ์์ ์ด์ ๋ํด ์ด์ผ๊ธฐํ์ต๋๋ค). ์ด๋ฌํ ํจ์๋ ๋ณต์ฌ๋ "์ค๋๋" ๋ฉ์์ง์ ๋ฐ์ดํฐ ๋ธ๋ก์ "์ฒจ๋ถ"ํ์ฌ ๋ฉ์์ง ํค๋์ ์ ๋ณต์ฌ๋ณธ์ ๋ง๋ญ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ํ๋์ ๋ฐ์ดํฐ ๋ธ๋ก์ ๋ ๊ฐ์ ํค๋๊ฐ ์ฒจ๋ถ๋๊ณ ๋ฐ์ดํฐ ๋ธ๋ก์ ์ฐธ์กฐ ์นด์ดํฐ๊ฐ ์ฆ๊ฐํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ ๊ฐ์ ๋ฉ์์ง์ฒ๋ผ ๋ณด์ผ ๊ฒ์ ๋๋ค. ์ด๋ฌํ "๊ณต๊ฐ" ๋ฐ์ดํฐ ๋ธ๋ก์ด ์๋ ๋ฉ์์ง๊ฐ ๋ ์์ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด MS_TEE ํํฐ๋ ํ ๋ฒ์ XNUMX๊ฐ์ ์ด๋ฌํ ๋ผ์ดํธ ๋ณต์ฌ๋ณธ์ ์์ฑํ์ฌ ์ถ๋ ฅ์ ๋ฐฐํฌํฉ๋๋ค. ์ฒด์ธ์ ๋ชจ๋ ํํฐ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ๋ฉด ํ์ดํ๋ผ์ธ์ ๋์์ ์ด ์ฐธ์กฐ ํ์๊ฐ XNUMX์ ๋๋ฌํ๊ณ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ํด์ ํจ์๊ฐ ํธ์ถ๋ฉ๋๋ค. ms_free(). ํธ์ถ์ด ๋ฐ์ํ์ง ์์ผ๋ฉด ์ด ๋ฉ๋ชจ๋ฆฌ ์กฐ๊ฐ์ ๋ ์ด์ ํ์ผ๋ก ๋ฐํ๋์ง ์์ต๋๋ค. ๊ทธ๋ "๋์ค"ํฉ๋๋ค. ๊ฐ๋ฒผ์ด ๋ณต์ฌ๋ณธ์ ์ฌ์ฉํ๋ ๋น์ฉ์ (์ผ๋ฐ ๋ณต์ฌ๋ณธ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์ ๋ง์ฐฌ๊ฐ์ง๋ก) ์ด๋ค ๊ทธ๋ํ ํํฐ์์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋์ถ๋๋์ง ์ฝ๊ฒ ํ์ธํ ์ ์๋ ๋ฅ๋ ฅ์ ์์ค์ ๋๋ค.
"๋ค์ดํฐ๋ธ" ํํฐ์์ ๋ฉ๋ชจ๋ฆฌ ๋์๋ฅผ ์ฐพ๋ ์ฑ ์์ ๋ฏธ๋์ด ์คํธ๋ฆฌ๋จธ ๊ฐ๋ฐ์์๊ฒ ์์ผ๋ฏ๋ก ๋๋ฒ๊น ํ ํ์๊ฐ ์์ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ์ ์ ํํฐ๋ฅผ ์ฌ์ฉํ๋ฉด ์์ ์ด ํ๋ณต์ ๋ฉ๋๊ธฐ์ด๋ฉฐ ์ฝ๋์ ๋์ถ์ ๊ฒ์ํ๋ ๋ฐ ์์๋๋ ์๊ฐ์ ์ ํ๋์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ๋๋ฒ๊น ์๊ฐ์ ์ค์ด๋ ค๋ฉด ํํฐ๋ฅผ ์ค๊ณํ ๋ ๋์ ์ง์ญํ ๊ธฐ์ ์ ์ดํด๋ด์ผ ํฉ๋๋ค. ๋ํ "์ฉ์์"์ ์๊ฐ ๋ง๊ณ ๋๋ฒ๊น ์๊ฐ์ด ์ ํ๋๋ ์ค์ ์์คํ ์์ ํํฐ๋ฅผ ์ ์ฉํ ๋๋ง ๋์ถ์ด ๋ํ๋ ์ ์์ต๋๋ค.
๋ฉ๋ชจ๋ฆฌ ๋์๋ ์ด๋ป๊ฒ ๋ํ๋ฉ๋๊น?
ํ๋ก๊ทธ๋จ์ ์ถ๋ ฅ์์ ์๋จ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์ฐจ์งํ๋ ๋ฉ๋ชจ๋ฆฌ์ ๋น์จ์ด ์ฆ๊ฐํ๋ ๊ฒ์ ๋ณด์ฌ์ค๋๋ค.
์ธ๋ถ ํํ์ ์ด๋ ์์ ์์ ์์คํ ์ด ๋ง์ฐ์ค์ ์์ง์์ ์ฒ์ฒํ ๋ฐ์ํ์ฌ ์ฒ์ฒํ ํ๋ฉด์ ๋ค์ ๊ทธ๋ฆฐ๋ค๋ ์ฌ์ค๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์์คํ ๋ก๊ทธ๊ฐ ์ปค์ ธ์ ํ๋ ๋๋ผ์ด๋ธ์ ๊ณต๊ฐ์ ์ฐจ์งํ ์๋ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ ์์ฉ ํ๋ก๊ทธ๋จ์ด ๋ช ๋ น์ ์๋ตํ์ง ์๊ฑฐ๋ ํ์ผ์ ์ด ์ ์๋ ๋ฑ ์ด์ํ๊ฒ ์๋ํ๊ธฐ ์์ํฉ๋๋ค.
๋์ถ ์ฌ์ค์ ํ์ธํ๊ธฐ ์ํด ๋ฉ๋ชจ๋ฆฌ ๋ถ์๊ธฐ(์ดํ ๋ถ์๊ธฐ๋ผ๊ณ ํจ)๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ทธ๊ฒ์ ์ ๋ฐ๊ทธ๋ฆฐ๋ (์ข์
์ฐ๋ฆฌ ํ์ธ์ฆ ๋ฐฉ์
์์์ ์ธ๊ธํ๋ฏ์ด ๋ฉ๋ชจ๋ฆฌ ๋์๊ฐ ๋ฐ์ํ๋ฉด ๋ถ์๊ธฐ๋ ํ์์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ์์ฒญํ ํํฐ๋ฅผ ๊ฐ๋ฆฌํต๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ ๊ทธ๊ฒ์ ๋ฐํํ๋ ๊ฒ์ "์์"ํํฐ๋ฅผ ๊ฐ๋ฆฌํค์ง ์์ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ ๋ถ์์๋ ์ฐ๋ฆฌ์ ๋๋ ค์์ ํ์ธํ ์ ์์ ๋ฟ ๊ทธ ๋ฟ๋ฆฌ๋ฅผ ์ง์ ํ์ง๋ ๋ชปํฉ๋๋ค.
๊ทธ๋ํ์์ "๋ถ๋" ํํฐ์ ์์น๋ฅผ โโ์ฐพ์ผ๋ ค๋ฉด ๋ถ์๊ธฐ๊ฐ ์ฌ์ ํ ๋์๋ฅผ ๊ฐ์งํ๋ ์ต์ ๋ ธ๋ ์๋ก ๊ทธ๋ํ๋ฅผ ์ค์ด๊ณ ๋๋จธ์ง XNUMX๊ฐ์ ์๋๋ฌด์์ ๋ฌธ์ ๊ฐ ์๋ ํํฐ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ์ด์ ํํฐ ์๋ฅผ ์ค์ด๋ฉด ํํฐ์ ์์คํ ์ ๋ค๋ฅธ ์์ ๊ฐ์ ์ ์์ ์ธ ์ํธ ์์ฉ ๊ณผ์ ์ด ์ค๋จ๋๊ณ ๋์ถ์ด ๋ ์ด์ ๋ํ๋์ง ์์ ์ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ ์ ์ฒด ํฌ๊ธฐ ๊ทธ๋ํ๋ก ์์ ํ๊ณ ์๋์ ์ค๋ช ๋ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
์ฌ๋ผ์ด๋ฉ ์ ์ฐ์ฒด ๋ฐฉ์
๊ฐ๋จํ๊ฒ ํ์ํ๊ธฐ ์ํด ๋จ์ผ ํํฐ ์ฒด์ธ์ผ๋ก ๊ตฌ์ฑ๋ ๊ทธ๋ํ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ทธ๋ ๋ ๊ทธ๋ฆผ์ ํ์๋ฉ๋๋ค.
๊ธฐ์ฑํ ๋ฏธ๋์ด ์คํธ๋ฆฌ๋จธ ํํฐ์ ํจ๊ป 1๊ฐ์ ํฌ๋ํํธ ํํฐ F4โฆ ๊ทธ๋ฌ๋ ๊ทธ๋ค ์ค ๋ช ๊ฐ๊ฐ ๋ฉ๋ชจ๋ฆฌ ๋์๋ฅผ ๊ฐ์ง๊ณ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ๋ถ์๊ธฐ ๊ฐ๋ ํ๋ก๊ทธ๋จ์ ์คํํ ๋ ๋ณด๊ณ ์์์ ํน์ ํํฐ๊ฐ ์ผ์ ๋์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์์ฒญํ์ง๋ง N๋ฒ ํ์ผ๋ก ๋ฐํํ์ง ์์๋ค๋ ์ฌ์ค์ ์๊ฒ ๋ฉ๋๋ค. MS_VOID_SOURCE ์ ํ์ ๋ด๋ถ ํํฐ ํจ์์ ๋ํ ์ฐธ์กฐ๊ฐ ์์ ๊ฒ์ด๋ผ๊ณ ์ถ์ธกํ๊ธฐ ์ฝ์ต๋๋ค. ๊ทธ์ ์์ ์ ํ์์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์ ๋๋ค. ๋ค๋ฅธ ํํฐ๋ ์ด๋ฅผ ๋ฐํํด์ผ ํฉ๋๋ค. ์ ๊ฒ๋ค. ์ฐ๋ฆฌ๋ ๋์ถ์ ์ฐพ์ ๊ฒ์ ๋๋ค.
๋ฉ๋ชจ๋ฆฌ ๋์๋ฅผ ์ด๋ํ ํ์ดํ๋ผ์ธ ๋นํ์ฑ ๋ถ๋ถ์ด ๋ฐ์ํ๋์ง ํ์ธํ๊ธฐ ์ํด ๋จ์ํ ๋ฉ์์ง๋ฅผ ์ ๋ ฅ์์ ์ถ๋ ฅ์ผ๋ก ์ด๋์ํค๋ ์ถ๊ฐ ํํฐ๋ฅผ ๋์ ํ๋ ๊ฒ์ด ์ ์๋์ง๋ง ๋์์ ๋นํ์ฑ, ์ ์ ์ ๋ ฅ ๋ฉ์์ง์ "๋ฌด๊ฑฐ์ด" ๋ณต์ฌ ํ ์ถ๋ ฅ์ ๋์ฐฉํ ๋ฉ์์ง๋ฅผ ์์ ํ ์ญ์ ์ ๊ตฌ. ์ด๋ฌํ ํํฐ๋ฅผ ์ ์ฐ์ฒด๋ผ๊ณ ํฉ๋๋ค. ํํฐ๊ฐ ๋จ์ํ๊ธฐ ๋๋ฌธ์ ๋์ถ์ด ๋ฐฐ์ ๋๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ํ๋์ ๊ธ์ ์ ์ธ ์์ฑ-๊ทธ๋ํ์ ์ด๋ ์์น์ ์ถ๊ฐํ๋ฉด ํ๋ก ์๋์ ์ด๋ค ์ ์ผ๋ก๋ ์ํฅ์ ๋ฏธ์น์ง ์์ต๋๋ค. ์ด์ค ์ค๊ณฝ์ด ์๋ ์์ผ๋ก ์ ์ฐ์ฒด ํํฐ๋ฅผ ๋ฌ์ฌํฉ๋๋ค.
voidsourse ํํฐ ๋ฐ๋ก ๋ค์ ์ ์ฐ์ฒด๋ฅผ ํ์ฑํํฉ๋๋ค.
์ฐ๋ฆฌ๋ ๋ถ์๊ธฐ๋ก ํ๋ก๊ทธ๋จ์ ๋ค์ ์คํํ๊ณ ์ด๋ฒ์๋ ๋ถ์๊ธฐ๊ฐ ์์ด์๋ ์ดํฐ๋ฅผ ๋น๋ํ ๊ฒ์์ ํ์ธํฉ๋๋ค. ๊ฒฐ๊ตญ, ๋ฐ์ดํฐ ๋ธ๋ก์ ์์ฑํ ๋ค์ ์ ์ ์๋ ๋ถ์ฃผ์ํ ํํฐ(๋๋ ํํฐ)์ ์ํด ์์ค๋๋ ๊ฒ์ ๋ฐ๋ก ๊ทธ ์ฌ๋์ ๋๋ค. ๋ค์ ๋จ๊ณ๋ ์ฒด์ธ์ ๋ฐ๋ผ ์ ์ฐ์ฒด๋ฅผ ํํฐ ํ๋๋งํผ ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋ํ๊ณ ๋ถ์์ ๋ค์ ์์ํ๋ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ ๋จ๊ณ์ ์ผ๋ก ์์ด์๋ ์ดํฐ๋ฅผ ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋ํ๋ฉด ๋ถ์๊ธฐ์ ๋ค์ ๋ณด๊ณ ์์์ "๋์ถ๋" ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก ์๊ฐ ๊ฐ์ํ๋ ์ํฉ์ด ๋ฐ์ํฉ๋๋ค. ์ฆ, ์ด ๋จ๊ณ์์ ์ ์ฐ์ฒด๋ ๋ฌธ์ ๊ฐ ์๋ ํํฐ ๋ฐ๋ก ๋ค์ ์๋ ์ฒด์ธ์ ๋ค์ด๊ฐ์ต๋๋ค. "๋ถ๋" ํํฐ๊ฐ ํ๋๋ง ์์ผ๋ฉด ๋์ถ์ด ์์ ํ ์ฌ๋ผ์ง๋๋ค. ๋ฐ๋ผ์ ๋ฌธ์ ๊ฐ ์๋ ํํฐ(๋๋ ์ฌ๋ฌ ํํฐ ์ค ํ๋)๋ฅผ ํ์งํํ์ต๋๋ค. ํํฐ๋ฅผ "๊ณ ์ "ํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ๋์๊ฐ ์์ ํ ์ ๊ฑฐ๋ ๋๊น์ง ์ฒด์ธ์ ๋ฐ๋ผ ์์ด์๋ ์ดํฐ๋ฅผ ์ค๋ฅธ์ชฝ์ผ๋ก ๊ณ์ ์ด๋ํ ์ ์์ต๋๋ค.
์์ด์๋ ์ดํฐ ํํฐ ๊ตฌํ
์์ด์๋ ์ดํฐ ๊ตฌํ์ ์ผ๋ฐ ํํฐ์ฒ๋ผ ๋ณด์ ๋๋ค. ํค๋ ํ์ผ:
/* ะคะฐะนะป iso_filter.h ะะฟะธัะฐะฝะธะต ะธะทะพะปะธััััะตะณะพ ัะธะปัััะฐ. */
#ifndef iso_filter_h
#define iso_filter_h
/* ะะฐะดะฐะตะผ ะธะดะตะฝัะธัะธะบะฐัะพั ัะธะปัััะฐ. */
#include <mediastreamer2/msfilter.h>
#define MY_ISO_FILTER_ID 1024
extern MSFilterDesc iso_filter_desc;
#endif
ํํฐ ์์ฒด:
/* ะคะฐะนะป iso_filter.c ะะฟะธัะฐะฝะธะต ะธะทะพะปะธััััะตะณะพ ัะธะปัััะฐ. */
#include "iso_filter.h"
static void
iso_init (MSFilter * f)
{
}
static void
iso_uninit (MSFilter * f)
{
}
static void
iso_process (MSFilter * f)
{
mblk_t *im;
while ((im = ms_queue_get (f->inputs[0])) != NULL)
{
ms_queue_put (f->outputs[0], copymsg (im));
freemsg (im);
}
}
static MSFilterMethod iso_methods[] = {
{0, NULL}
};
MSFilterDesc iso_filter_desc = {
MY_ISO_FILTER_ID,
"iso_filter",
"A filter that reads from input and copy to its output.",
MS_FILTER_OTHER,
NULL,
1,
1,
iso_init,
NULL,
iso_process,
NULL,
iso_uninit,
iso_methods
};
MS_FILTER_DESC_EXPORT (iso_desc)
๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฅ ๊ต์ฒด ๋ฐฉ๋ฒ
๋ณด๋ค ๋ฏธ๋ฌํ ์ฐ๊ตฌ๋ฅผ ์ํด ๋ฏธ๋์ด ์คํธ๋ฆฌ๋จธ๋ ๋ฉ๋ชจ๋ฆฌ ์ก์ธ์ค ๊ธฐ๋ฅ์ ์์ ์ ๊ธฐ๋ฅ์ผ๋ก ๋์ฒดํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฉฐ, ์ฃผ์ ์์ ์ธ์๋ "๋๊ฐ, ์ด๋์, ์"๋ฅผ ์์ ํฉ๋๋ค. ์ธ ๊ฐ์ง ๊ธฐ๋ฅ์ด ๋์ฒด๋๊ณ ์์ต๋๋ค. ์ด๋ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ํ๋ฉ๋๋ค.
OrtpMemoryFunctions reserv;
OrtpMemoryFunctions my;
reserv.malloc_fun = ortp_malloc;
reserv.realloc_fun = ortp_realloc;
reserv.free_fun = ortp_free;
my.malloc_fun = &my_malloc;
my.realloc_fun = &my_realloc;
my.free_fun = &my_free;
ortp_set_memory_functions(&my);
์ด ๊ธฐ๋ฅ์ ๋ถ์๊ธฐ๊ฐ ํํฐ ์๋๋ฅผ ๋๋ฌด ๋ฎ์ถ์ด ํ๋ก๊ฐ ๊ตฌ์ถ๋ ์์คํ ์ ์๋์ด ์ค๋จ๋๋ ๊ฒฝ์ฐ์ ๊ตฌ์ถ๋ฉ๋๋ค. ๊ทธ๋ฌํ ์ํฉ์์๋ ๋ถ์๊ธฐ๋ฅผ ํฌ๊ธฐํ๊ณ ๋ฉ๋ชจ๋ฆฌ ๊ธฐ๋ฅ์ ๋์ฒด๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
๋ถ๊ธฐ๋ฅผ ํฌํจํ์ง ์๋ ๊ฐ๋จํ ๊ทธ๋ํ์ ๋ํ ์์ ์๊ณ ๋ฆฌ์ฆ์ ๊ณ ๋ คํ์ต๋๋ค. ๊ทธ๋ฌ๋์ด ์ ๊ทผ ๋ฐฉ์์ ๋ฌผ๋ก ํฉ๋ณ์ฆ์ด์๋ ๋ค๋ฅธ ๊ฒฝ์ฐ์๋ ์ ์ฉ๋ ์ ์์ง๋ง ์์ด๋์ด๋ ๋์ผํ๊ฒ ์ ์ง๋ฉ๋๋ค.
๋ค์ ๊ธ์์๋ ํฐ์ปค ๋ถํ ์ถ์ ๋ฌธ์ ์ ๋ฏธ๋์ด ์คํธ๋ฆฌ๋จธ์์ ๊ณผ๋ํ ์ปดํจํ ๋ถํ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์ถ์ฒ : habr.com