[C#, 유니티] 동적 라이브러리 (feat. dll)

2022. 11. 16. 19:36코딩 2막 <C#개념편>

728x90

DLL(동적 링크 라이브러리)?

소프트웨어 개발에서 자주 쓰고 기초적인 함수들을 중복 개발하는 것을 피하기 위해 표준화된 함수 및 데이터 타입을 만들어서 모아 놓은 것. 즉, 자주 사용되는 표준적인 함수를 매번 직접 작성해서 사용하는 것은 지나치게 시간 소모적이므로 표준화할 수 있는 함수를 미리 만들어서 모아 놓은 것.

실행 파일에서 해당 라이브러리의 기능을 사용 시에만,

라이브러리 파일을 참조하여(혹은 다운로드받아) 기능을 호출

Dll의 장점 내용
손쉬운 배포와 설치  - DLL 내의 함수를 업데이트하거나 수정해야 하는 경우 DLL을 배포하고 설치할 때 프로그램을 DLL과 다시 연결하지 않아도 된다.
 - 여러 프로그램이 같은 DLL을 사용하는 경우에는 모든 프로그램에 업데이트나 수정 내용이 적용된다.
프로그래머들의 분담 작업이 용이하며 재사용성도 뛰어남 코드의 양이 적어지므로 디버깅도 용이
더 적은 리소스 사용  한 코드를 여러 프로그램이 동시에 사용하기 때문에 메모리가 절약된다. 그리고 사용되는 디스크 공간을 줄일 수 있다.
모듈식 아키텍처 활용  DLL을 사용하면 모듈식 프로그램을 효율적으로 개발할 수 있다.
 또한 여러 언어 버전이 필요한 큰 프로그램이나 모듈식 아키텍처가 필요한 프로그램을 개발할 수 있다.

클래스 라이브러리 생성

클래스를 만들면 다음과 같이 나온다

생성한 프로젝트 ClassLibrary1에 UnityEngine에 대한 dll을 가져와야 쓸 수 있다

Dll 사용시 유의사항 
가끔 어떤 프로그램 사용시 특정 DLL 파일을 어느 위치에 저장시키라고 하는 경우가 있는데 해당 프로그램을 신뢰할 수 있는지 확인해 보아야 한다. 해로운 DLL 파일일 수 있기 때문이다.

 DLL 파일을 함부로 이동시키면 프로그램이 정상적으로 작동하지 않을 수 있다.


공감해주셔서 감사합니다

728x90