dll 3

#033_WIndow_System_DLL (3)

안녕하세요 삽잡이입니다. 이번 시간에는 지난 시간에 이어서 DLL에 대하여 조금 더 알아보려고 합니다. DLL에도 메인이 있습니다. 우리가 아는 main은 한번 실행이 된 다음 종료가 되면 프로그램이 종료되지요...그런데, DLL의 main은 성격이 다릅니다.DllMain은 DLL이 어떤 상태인지 파악하려고 호출되는 네가지 case를 가지고 있습니다.즉, 네가지 case가 될 때마다 호출이 되는 것입니다. DLL의 초기화, 마무리를 위해 만들어진 것이 DLL의 메인이지요... 물론, DLL을 만들었을때 왜 안썼느냐 할 수있는데,초기화, 마무리를 할 때 할일이 없다면 필요가 없겠지요...하지만, DLL을 load할 때 메모리가 필요하고, Unload할 때 메모리를 해제해야한다면...DLL이 load,되고 ..

#033_WIndow_System_DLL (2)

안녕하세요 삽잡이입니다. 이번 시간에는 지난시간에 이어서 DLL의 기능에 대해서 알아보려고합니다. 서버에서는 DLL기능을 클라이언트에 가져다 쓰는데 두가지 기능을 제공한다고 했습니다.바로, 명시적인 DLL 연결 (explicit 연결)과 암묵적인 DLL 연결(implicit 연결)입니다. DLL이 먼저 만들어지게 되지 않습니까...존재하지 않는 기능을 먼저 쓸 수 없으니까 말입니다...서버와 클라이언트중 서버가 먼저 만들어집니다. 당연한 말이지요... DLL을 미리 만들어서 줘야 쓸 수 있는데,그 만든 것을 클라이언트에게 주어야하는 요소가 명시적 연결에서는 두개만 주면됩니다.서버가 클라이언트에게 주어야할 요소는 바로 'DLL', '도움말' 입니다. 암묵적인 DLL 연결은 첫번째로 DLL, 그리고 lib,..

#032_WIndow_System_DLL (1)

안녕하세요 삽잡이입니다. 이번 시간에는 DLL에 대해서 알아보겠습니다. 라이브러리는 뭘까요? 바로, 기능 집합을 말합니다.일반적으로 기능 집합과 형식집합이라고 부르는데,기능집합은 함수 형태의 프로그램에서 부르고, 형식 집합은 객체 지향 형태에서 부릅니다. 이 라이브러리는 두 가지로 나뉘게 됩니다.바로 정적 라이브러리 (static link library)와 동적 라이브러리(dynamic link library) 입니다.그래서 동적 라이브러리를 줄여서 dll이라고 부르는 것입니다.정적은 lib라고 부르고요... 왜냐, 예전에는 동적 라이브러리라는 개념이 없었기 때문에 라이브러리라고 하면 정적 라이브러리 밖에 없었습니다.그래서 lib로 사용하다가 동적 라이브러리라는 개념이 생기며 이를 dll로 불리기 시작한..