IT-Engineering/C++3 pragma comment lib : ๋ฌต์์ (์์์ ) ๋งํน ์์ ์์ฑํ๋ ๊ธ์ ๋จผ์ ์ฐธ๊ณ ํ๊ธธ ๋ฐ๋ผ๋ฉฐ...(DLL ๋ง๋ค๊ธฐ ๋ฐ ํธ์ถํ๊ธฐ ๋ฐ๋ผํ๊ธฐ : 1. ๋ฌต์์ (์์์ ) ๋งํน : http://gentlesark.tistory.com/11) ์์ ๊ธ์์๋ '8. lib ํ์ผ ์ฐ๊ฒฐ' ๋ถ๋ถ์์ ํ๋ก์ ํธ ์์ฑ์ ์ถ๊ฐ ์ข ์์ฑ์์ libํ์ผ์ ์ ๋ ฅํด์ฃผ์๋ค.์ด ๊ธ์์๋ ์ด ๋ถ๋ถ์ ๋์ฒดํ ์ ์๋ ์ ์ฒ๋ฆฌ ๋ฌธ์ ๊ฐ๋จํ๊ฒ ์๊ฐํ๊ณ ์ ํ๋ค. #pragma comment(lib,"MakeDLLTutorial.lib") ์์ ๊ฐ์ ๊ตฌ๋ฌธ์ ์์์ ์๊ฐํ๋ ์ถ๊ฐ ์ข ์์ฑ์์์ ์ ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋งํน์ ๋์ฒดํ ์ ์๋ ๊ตฌ๋ฌธ์ด๋ค.์์ Tutorial์์ ์ถ๊ฐ์ข ์์ฑ์์ ํฌํจํ๋ ๋ด์ฉ์ ์ญ์ ํ๊ณ (๋จ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋๋ ํฐ๋ฆฌ ์ค์ ์ ๊ทธ๋๋ก ๋๋ค)์์ ๊ตฌ๋ฌธ์ ํค๋ ํฌํจ ์๋์ชฝ์ ๋ฐ๋ก ์ ๋ ฅํ์ฌ ๋น๋ํด๋ณด๋ฉด ํ ์คํธ.. 2017. 2. 22. DLL ๋ง๋ค๊ธฐ ๋ฐ ํธ์ถํ๊ธฐ ๋ฐ๋ผํ๊ธฐ : 2. ๋ช ์์ ๋งํน 1์ฅ. ๋ฌต์์ (์์์ ) ๋งํน์ ์ด์ด์ ์ด๋ฒ์ ๋ช ์์ ๋งํน์ ๋ํ ๋ฐ๋ผํ๊ธฐ๋ฅผ ์งํํ๋๋ก ํ๊ฒ ๋ค.๋ช ์์ ๋งํน์ ์ด์ฉํ๋ฉด ํ์ํ ๋ DLL์์ ํจ์๋ฅผ ๋ก๋ํ์ฌ ํน์ ํจ์ ํฌ์ธํฐ์ ์ฌ์ฉํ๋ ค๋ ํจ์๋ฅผ๋งตํ์์ผ์ ์ฌ์ฉํ ์ ์๋ค. ์ฌ์ง์ด ํ๋์ ํจ์ ํฌ์ธํฐ์ ๋ถ๋ฌ๋ค์ผ ํจ์๋ฅผ ๋ฐ๊ฟ๊ฐ๋ฉฐ ๋งตํ์ํฌ ์๋ ์๋ค. ๋ฐฑ๋ฌธ์ด ๋ถ์ฌ์ผ๊ฒฌ์ด๋ผ ํ์ผ๋ ์ฝ๋๋ฅผ ์ง์ ๋ณด๋ฉด์ ์ค๋ช ํ๊ฒ ๋ค.์์์ 1์ฅ์์์ MakeDLLTutorial.cppํ์ผ์ '๋ง ์์ฑํ์ฌ ์๋ฌด๊ฒ๋ ์๋ ๋ฒ์ '๋ถํฐ ๋ค์ ์์๋๋ค.http://gentlesark.tistory.com/11 ๊ธ์ 6๋ฒ ํญ๋ชฉ๊น์ง ๋ง์น๋ค 7๋ฒ ํญ๋ชฉ ๋์ ์ง๊ธ๋ถํฐ ์งํ๋๋ ์ค๋ช ์ ๋ฐ๋ผ๊ฐ๋ฉด ๋๋ค.mainํจ์ ๋ฐ๋ก ์๋จ์ ์๋์ ๊ฐ์ ์ฝ๋๋ฅผ ์ถ๊ฐํ์. typedef int(*pDLLFunction)(in.. 2017. 2. 3. DLL ๋ง๋ค๊ธฐ ๋ฐ ํธ์ถํ๊ธฐ ๋ฐ๋ผํ๊ธฐ : 1. ๋ฌต์์ (์์์ ) ๋งํน DLL์ด๋ ๋ฌด์์ธ๊ฐ? ๋์ ๋งํฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ :๋์ ๋งํฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(์์ด: dynamic-link library, DLL)๋ ๋ง์ดํฌ๋ก์ํํธ ์๋์ฐ์์ ๊ตฌํ๋ ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. ๋ด๋ถ์๋ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ด ๋ถ๋ฌ์ ์ธ ์ ์๋ ๋ค์ํ ํจ์๋ค์ ๊ฐ์ง๊ณ ์๋๋ฐ, ํ์ฅDLL์ธ ๊ฒฝ์ฐ๋ ํด๋์ค๋ฅผ ๊ฐ์ง๊ณ ์๊ธฐ๋ ํ๋ค. DLL์ COM์ ๋ด๋ ๊ทธ๋ฆ์ ์ญํ ๋ ํ๋ค.์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์๋ ๋ ๊ฐ์ง๊ฐ ์๋๋ฐ,๋ฌต์์ ๋งํน(Implicit linking) : ์คํ ํ์ผ ์์ฒด์ ์ด๋ค DLL์ ์ด๋ค ํจ์๋ฅผ ์ฌ์ฉํ๊ฒ ๋ค๋ ์ ๋ณด๋ฅผ ํฌํจ์ํค๊ณ ์ด์์ฒด์ ๊ฐ ํ๋ก๊ทธ๋จ ์คํ ์ ํด๋น ํจ์๋ค์ ์ด๊ธฐํํ ํ ๊ทธ๊ฒ์ ์ด์ฉํ๋ ๋ฐฉ๋ฒ๊ณผ,๋ช ์์ ๋งํน(Explicit linking) : ํ๋ก๊ทธ๋จ์ด ์คํ ์ค์ผ ๋ API๋ฅผ ์ด์ฉํ์ฌ DLL ํ์ผ์ด ์๋์ง ๊ฒ์ฌํ๊ณ ๋์ ์ผ.. 2017. 2. 3. ์ด์ 1 ๋ค์