์ด์ ๋ธ๋ฆฌ ์ ์
์ด์ ๋ธ๋ฆฌ ์ ์ ๋ฐ ์ด์ ๋ธ๋ฆฌ ๋ ํผ๋ฐ์ค๋ ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ ๋ธ๋ฆฌ๋ก ๊ตฌ์ฑํ ์ ์๋ ์์ ์ ๋๋ค.
์ด์ ๋ธ๋ฆฌ๋ ์คํฌ๋ฆฝํธ์ ์ํด ์ ์๋๊ณ ๋ค๋ฅธ ์ด์ ๋ธ๋ฆฌ์ ๋ํ ๋ ํผ๋ฐ์ค๋ ์ ์ํ๋ ์ปดํ์ผ๋ ํด๋์ค์ ๊ตฌ์กฐ์ฒด๊ฐ ๋ค์ด ์๋ C# ์ฝ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. C#์ ์ด์ ๋ธ๋ฆฌ์ ๋ํ ์ผ๋ฐ์ ์ธ ์ ๋ณด๋ [.NET์ ์ด์ ๋ธ๋ฆฌ]๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
๊ธฐ๋ณธ์ ์ผ๋ก Unity๋ ๊ฑฐ์ ๋ชจ๋ ๊ฒ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ ์ ์๋ ์ด์ ๋ธ๋ฆฌ์ธ Assembly-CSharp.dll๋ก ์ปดํ์ผํฉ๋๋ค. (๋ํ Unity๋ [๋ช ๊ฐ์ง ๋ ์๊ณ ์ ๋ฌธํ๋ ์ฌ์ ์ ์ ์ด์ ๋ธ๋ฆฌ]๋ ์์ฑํฉ๋๋ค.)
์ด ๋ฐฐ์ด์ ์๊ท๋ชจ ํ๋ก์ ํธ์ ์ ํฉํ์ง๋ง, ํ๋ก์ ํธ์ ์ฝ๋๋ฅผ ๋ ์ถ๊ฐํ ๊ฒฝ์ฐ ๋ช ๊ฐ์ง ๋จ์ ์ด ์์ต๋๋ค.
- ํ๋์ ์คํฌ๋ฆฝํธ๋ฅผ ๋ณ๊ฒฝํ ๋๋ง๋ค Unity๋ ๋ค๋ฅธ ๋ชจ๋ ์คํฌ๋ฆฝํธ๋ฅผ ๋ค์ ์ปดํ์ผํด์ผ ํ๋ฏ๋ก ๋ฐ๋ณต์ ์ฝ๋ ๋ณ๊ฒฝ์ ์ํ ์ ์ฒด ์ปดํ์ผ ์๊ฐ์ด ๋์ด๋ฉ๋๋ค.
- ๋ชจ๋ ์คํฌ๋ฆฝํธ๋ ๋ค๋ฅธ ์คํฌ๋ฆฝํธ์์ ์ ์๋ ํ์ ์ ์ง์ ์ก์ธ์คํ ์ ์์ผ๋ฏ๋ก ์ฝ๋๋ฅผ ๋ฆฌํฉํฐ๋งํ๊ณ ๊ฐ์ ํ๊ธฐ๊ฐ ๋ ์ด๋ ค์ธ ์ ์์ต๋๋ค.
- ๋ชจ๋ ์คํฌ๋ฆฝํธ๋ ๋ชจ๋ ํ๋ซํผ์ ๋ํด ์ปดํ์ผ๋ฉ๋๋ค.
์ด์ ๋ธ๋ฆฌ๋ฅผ ์ ์ํ๋ฉด ์ฝ๋๋ฅผ ๊ตฌ์ฑํ์ฌ ๋ชจ๋์ฑ๊ณผ ์ฌ์ฌ์ฉ์ฑ์ ๋์ผ ์ ์์ต๋๋ค. ํ๋ก์ ํธ์ ๋ํด ์ ์ํ๋ ์ด์ ๋ธ๋ฆฌ์ ์คํฌ๋ฆฝํธ๋ ๋ ์ด์ ๊ธฐ๋ณธ ์ด์ ๋ธ๋ฆฌ์ ์ถ๊ฐ๋์ง ์์ผ๋ฉฐ, ์ง์ ํ๋ ๋ค๋ฅธ ์ด์ ๋ธ๋ฆฌ์ ์คํฌ๋ฆฝํธ์๋ง ์ก์ธ์คํ ์ ์์ต๋๋ค.
dll ์ด๋ ๋ฌด์์ธ๊ฐ.
dll์ด๋ ๋ฌด์์ธ๊ฐ
์ปดํ์ผ์ ํ๋ค!
์ปดํ์ผ -> ๊ณ ๊ธ ์ธ์ด(c/cpp)๋ฅผ ์ ๊ธ์ธ์ด(๊ธฐ๊ณ์ด, ์ด์ ๋ธ๋ฆฌ)๋ก ๋ฒ์ญํ๋ ์ผ
๋น๋ : ๊ณ ๊ธ ์ธ์ด๋ก ์ฝ๋๋ฅผ ์์ฑ -> ์ปดํ์ผ -> ๋ชฉ์ ์ฝ๋ (cpp:obj)๊ฐ ๋์ค๊ณ -> ๋งํฌ : ์ฌ๋ณผ(ํจ์, ํด๋์ค) ์ฐ๊ฒฐ -> ์คํํ์ผ๋ก ๋ฝ๋๋ค.
์ปดํ์ผ : ๊ธฐ๊ณ์ด๋ก ๋ฐ๊ฟ์ฃผ๋ ์ผ
๋งํฌ: ์ค์ ๊ตฌํ์ฒด(๊ธฐ๊ณ์ด)์ ์ฐ๊ฒฐ ์์ผ ์ฃผ๋ ์ผ
cpp์ ๊ฒฝ์ฐ
1. ๋ณธ์ธ ์์ค์ฝ๋๋ก ์์ฑํ ๊ฒ์ ์ฐ๊ฒฐ์์ผ์ฃผ๋ ๊ฒฝ์ฐ
2. ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐ๊ฒฐ์์ผ์ฃผ๋ ๊ฒฝ์ฐ
- Static linked Library -> *.lib : exe๋ฅผ ๋ง๋ค ๋ ์ฐ๊ฒฐ์ ์์ผ์ค๋ค.
- Dynamic linked Library -> *.dll : ์ด๋ค ํ์ผ์ ์ด๋๋ฅผ ์ฐ๊ฒฐํ๋ค. -> ๋ฐํ์์ ์ฐ๊ฒฐ ํ๋ค.
lib, dll๋ฅผ ๋ง๋ค๊ธฐ ์ํ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค ์ ์๋ค.
C# dll ์ง์ํ๋ค. ์ด ๊ฒฝ์ฐ dll -> ์ด์ ๋ธ๋ฆฌ ->
some.dll
internal class someclass1
internal class someclass2
program.proj -> ์คํํ์ผ์ ๋ฝ๊ธฐ ์ํ ํ๋ก์ ํธ
1. some.dll์ ์ฐธ์กฐ
2. someclass1์ ์ธ์คํด์คํ(๊ฐ์ฒดํ) ํ๋ ค๊ณ ํ๋ฉด ์ปดํ์ผ ์๋ฌ
dll์ด๋ ํด๋์ค ๋ชจ์์ง
์ด์ ๋ธ๋ฆฌ ์ ์ - Unity ๋งค๋ด์ผ (unity3d.com)
Unity)Asmdef (์ด์ ๋ธ๋ฆฌ ์ ์) (tistory.com)
'C# > ์ด๊ฒ์ด C#์ด๋ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
25. ์ค๋ฒ๋ผ์ด๋ฉ๊ณผ ๋คํ์ฑ virtual, override (0) | 2022.02.11 |
---|---|
24. C# ํ์ ๋ณํ ์ฐ์ฐ์ ์ํ ์ฐ์ฐ์, is์ as (0) | 2022.02.11 |
23. ์์, ์ฝ๋ ์ฌํ์ฉ, ๊ธฐ๋ฐ ํด๋์ค, ํ์ ํด๋์ค, base, sealed (0) | 2022.02.11 |
22. ์๋์ฑ, ์ ๊ทผ ํ์ ์ (0) | 2022.02.10 |
21. this, this() ์์ฑ์ (0) | 2022.02.10 |