|
: 안녕하세요, 여러분. 새해 복 많이 받으세요.
:
: 오늘 제가 여쭙고 싶은 것은 다름이 아니고 dll과 어플리케이션
: 사이에서 구조체를 익스포트하는 방법입니다.
: 저는 지금 다른 사람이 만든 dll(MS VC++)을 제 어플리케이션에서
: 임포트하여 쓰고 있습니다. 그 사람이 만든 함수, 구조체, 변수 등등...
: 여러 객체들을 자유로이 임포트하여 저는 함수를 이용하고,
: 또 데이터들을 그 사람의 구조체에다 세팅해주는 등의 작업을 하고 있습니다.
:
: 그런데 제가 빌더를 이용하여 dll을 만들었는데
: 이 구조체가 익스포트(dll에서)가 안되는 것인지 임포트
: (어플리에서)가 안되는 것인지 어쨌던 라이브러리를 로드할 때
: 널 값이 들어오더군요.
:
: 그래서 먼저 말씀드렸던 MS dll을 만들었던 사람에게 물어봤더니
: "DEF 파일이란 것이 있어서 거기에다 선언을 하고 특별히 다른 것은
: 한게없다"라고 하더군요, 그래서 여기저기 헬프를 뒤적 거렸더니 DEF
: 파일에 관한 설명이 있기는 한데 조금 설명이 부족하더군요.
: 아쉬운대로 MS것을 대충 편집해서 파일을 만들고 프로젝트에 추가를
: 하니 에러가 나더군요.
:
: dll의 실행 환경이 좀 복잡해서 어플리 쪽에서 한번에 세팅을 해 두면
: 편리하다는 생각입니다.
:
: 고수님들의 조언을 기다리겠습니다.
:
임펠리테리입니다.
질문하신 내용이 좀.. 이해가 잘 안됩니다.
라이브러리를 로드할 때 널 값이 들어온다고 하셨는데, 그럼 LoadLibrary() 조차 안된다는
말인데요. 그렇다면 로드하려는 dll을 찾을 수 없는 경우거나..
아무래도 다시 질문을 해주셔야겠습니다. 그리고, 만약 GetProcAddress에서 문제가 생긴 거라면,
해당 dll의 익스포트한 부분의 소스와, 그 dll을 불러들이는 임포트 소스를 같이 보여주셔야
되겠네요.
그럼 이만...
|