#32. Windows 공용 DLL에서의 데이터 타입

일반적으로 공용될 Win32 바이너리 타입의 DLL들은 다른 언어와의 호환성을 위하여 가급적이면 리턴 타입을 Windows가 인지할 수 있는 형태로 컨버젼하여 줄 것을 Microsoft사에서 권장하고 있습니다. 하지만, 어떤것이 Windows에서 인지할 수 있는 것이고 아닌것이고 라는 점을 알아내기가 어려울 것입니다. 실제로, DLL에서 권장되는 데이터 타입들은 주로 핸들을 제외한 32비트형 데이터 타입들이 있으며, ANSI C에서의 데이터 타입들도 권장됩니다.


MSDN 라이브러리나 프로그래밍 바이블 서적을 보면 굉장히 많은 데이터 타입들을 찾아볼 수가 있습니다. 이것들은 모두 ANSI C의 데이터 타입들을 기반으로 하여 재정의된 별명들입니다. 예를 들면 LP라는 키워드가 붙게되는 32비트 데이터 타입들의 경우 Long Pointer를 의미하는 포인터 기호가 붙어있습니다.


다른 언어들도 Win32의 데이터 처리 타입을 기반으로 해서 DLL을 받아들일 수 있도록 설계된 것이므로 충분히 데이터 타입을 어떻게 처리해야 할 것이며 어떻게 언어에 맞게 수용시킬 수 있을지 자체적인 코딩에 의하여 완성되도록 되어있습니다.

댓글 남기기