지금 DLL입출력 함수의 사용이라는 것을 배우고 있는데요..
이전부터 이해가 안되는 질문이 3가지가 있었거든요...
1번질문 : 예제를 보면 DllProc:=@DLLEntrypoint;
이런게 있는데요... @ <-- 이건 머할때 앞에 붙여요?
2번질문 : DLL을 이용한 데이터 공유에서 질문하고 싶은건데요..
이번 단원 예제에서는 SheareDLL.DLL이라는 DLL파일을 만들거든요
그런데 여기서 DLLDate^.A, DLLDate^.B 이런게 있어요.. 변수명 같은데 이름이
이상해서
앞에 Var 나 const를 보면 이런건 선언도 안해주었던데..
3번째질문 : 이건 정말로 궁금한건데요..
DLL을 쓰는것이 곧 API를 쓰는거라고 했거든요.
그런데요 정말로 프로그래밍을 할때 DLL이 필요한가요?
어느면에서 필요한가요? 전 프로그래밍 배울때 이런거 필요하나?
라는 (엉뚱한생각)이 들어요...... 정말 어떨때 필요하죠?
>
> 지금 DLL입출력 함수의 사용이라는 것을 배우고 있는데요..
> 이전부터 이해가 안되는 질문이 3가지가 있었거든요...
>
> 1번질문 : 예제를 보면 DllProc:=@DLLEntrypoint;
> 이런게 있는데요... @ <-- 이건 머할때 앞에 붙여요?
>
C 를 아시는지 모르겠지만
C 에서 Pointer Function 과 같다고 보시면 되겠네요
즉 동적인 function 이나 procedure 를 실행하기 위해 많이 쓰이죠
예를 들자면 프로그램이 실행할 때마다 DLL 을 메모리에 올리는 것보다
필요할 때만 Dll 의 function pointer 를 알면 쓸데없는 메모리 낭비가
없겠죠!~
> 2번질문 : DLL을 이용한 데이터 공유에서 질문하고 싶은건데요..
> 이번 단원 예제에서는 SheareDLL.DLL이라는 DLL파일을 만들거든요
> 그런데 여기서 DLLDate^.A, DLLDate^.B 이런게 있어요.. 변수명 같은데 이름이
> 이상해서
> 앞에 Var 나 const를 보면 이런건 선언도 안해주었던데..
>
이것도 역시 Pointer 와 관련된 것입니다.
. 은 C 에서 structure 와 같은거 구요 ^ 는 -> 와 같은거라고
보시면 됩니다.
이것들이 또 뭐냐고 묻는건 아니겠죠?
> 3번째질문 : 이건 정말로 궁금한건데요..
> DLL을 쓰는것이 곧 API를 쓰는거라고 했거든요.
> 그런데요 정말로 프로그래밍을 할때 DLL이 필요한가요?
> 어느면에서 필요한가요? 전 프로그래밍 배울때 이런거 필요하나?
> 라는 (엉뚱한생각)이 들어요...... 정말 어떨때 필요하죠?
>
필요 없다고 생각 되시면 직접 만들어서 쓰시면 되겠네요..
예를 들자면 PlaySound (File...) 는 wav File 을 열어 스피커로 출력하는건데
-한줄로 끝-
Dll 이나 API 를 쓰시기 싫으시면 직접 sound card I/O 포트를 열어
device 수준에서의 콘트롤을 하시면 됩니다. Assembly 로 하셔야 하고...
sound card 별 spec 도 아셔야 하고 중요한건 sound card 가 들린 컴퓨터에선
돌아가질 않게 되겠죠...