그래도 외부파일에서 함수정보를 따오는거라 오히려 성능에 저하가 가지않을까요?
exe파일은 실행시 메모리에 전부 올라가기때문에 용량이 작을수록 유리해서
dll파일로 동적으로 함수사용시에만 메모리에 올리고 쓰겟다는건가요?
정적라이브러리형식으로 exe파일로 만들면 그만큼 exe파일이 커지게되고 메모리사용량이 그만큼 커지기때문에
미미하지만 약간의 성능저하를 감소하고서라도 메모리사용 최적화라는 장점을 이용하기위해 dll파일을 유용하는건가요?
그래도 외부파일에서 함수정보를 따오는거라 오히려 성능에 저하가 가지않을까요?
exe파일은 실행시 메모리에 전부 올라가기때문에 용량이 작을수록 유리해서
dll파일로 동적으로 함수사용시에만 메모리에 올리고 쓰겟다는건가요?
정적라이브러리형식으로 exe파일로 만들면 그만큼 exe파일이 커지게되고 메모리사용량이 그만큼 커지기때문에
미미하지만 약간의 성능저하를 감소하고서라도 메모리사용 최적화라는 장점을 이용하기위해 dll파일을 유용하는건가요?
네 말처럼 옛날엔 메모리가 적어서 그랬지
ㄴ 요즘에는 왜쓰는거에여? 게임이라던지 프로그램이라던지 보면 dll파일 엄청많던데..
보안상의 이유도 있나요?
그리고, 공용 dll 들은 memcpy 나 strlen 처럼 너무나 뻔하디 뻔한... 함수들을 모든 프로그램이 일일이 내장하고 있는 낭비를 줄여줍니다.
요즘에는 특별한 기능을 가진 것들을 관리측면에서 분리하기도 합니다.
그러니까 가령 내가 DB 건드리는 모듈을 직접만들지 않고 가져다 쓴다. 근데 그 곳에서 업데이트를 했다. 내 프로젝트를 전부 다시 빌드해야 하나? 이런 문제.
dll 이면 dll 교체만으로도 끝나죠.
아.. 유지보수측면에서도 좋군요.. 제가 개발자라도 쓸만하네요
DLL 의 경로 지옥 때문에 COM 이 나오고 COM 이 웹도 지원하면서 ActiveX 가 되었죠. windows 머신에 대한 이야기.
웹을 지원한다기 보단 브라우져를 지원하면서 ㅡㅡㅋ
하지만 전 dll 을 싫어하죠. 케케.
dynamic linked library를 쓴다고 static linked library보다 메모리를 적게 쓰는건 아닙니다. 하지만 여러 프로그램이 공통적으로 쓰는 부분을 dll로 구현하고 이를 공유한다면 시스템 전체적으로는 확실히 리소스를 절약하죠. 특히 윈도우즈 프로그램의 경우 버튼이라든가 메뉴같은 부분은 대부분의 프로그램에서 기능이 같기 때문에 MS가 dll로 오픈해놓았고 개발자들은 api를 통해서 사실은 MS의 dll을 사용합니다.
이렇게 하면 개발자 입장에서는 직접구현하지 않아도 되니까 편하고, 시스템 입장에서는 리소스를 절약할수 있어서 좋고, 대규모 프로젝트를 진행할때 각팀이 모듈을 따로 개발할수 있으니 도움되고요. 패치할때 역시 해당 dll만 패치한다든지, 세계적으로 널리 쓰이는 프로그램의 경우 각 국가별 언어에 따라 따로 dll로 구현해 놓으면 배포할때도 도움되고요. 여러 가지로 좋긴한데
요즘은 응용프로그램이 트렌드가 아니라 웹서비스가 트렌드라서요. 좀 무시당하는 경향이 있죠. 오랜만에 들어보네요. dll... ㅋㅋ
ㄴ 응용프로그램이랑 웹서비스는 전혀 다른 도메인인걸로 - return 0;