2010-06-20 3 views
2

왜 그런지 모르지만 가져 오기 라이브러리에서 함수를 정적으로 연결할 수 있다고 생각했습니다. 비슷한 삶을 살아갈 수는 없기 때문에 내가 시도한 사람은 나 밖에없는 것 같습니다. 동적으로 링크 된 프로젝트에서 새 프로젝트를 만들거나 정적으로 다시 컴파일하지 않고 선택적으로 정적 링크 기능을 사용할 수 있습니까? 모듈 자체는 인터페이스를 통해 통신하며 기능을 내보내는 데별로 큰 문제가 아닙니다. 객체를 생성하기 위해 코드를 정적으로 링크하고 싶습니다. ...DLL 프로젝트의 정적 링크 기능

이것을 매크로로 바꾸는 것이 얼마나 나쁠까요?

IClassFactory* CF = NULL; 
hr = CoGetClassObject (
    CLSID_CF, 
    CLSCTX_INPROC_SERVER, 
    NULL, 
    IID_IClassFactory, 
    (void**)&CF); 

Interface* Instance = NULL; 
hr = CF->CreateInstance (
    NULL, 
    IID_Interface, 
    (void**)&Instance); 
+0

나는 함수를 내 보냈고 암시 적으로 DLL을 링크했다 ... 여전히 하나의 함수에 정적 연결을 지정할 수 있다면 ..... –

답변

1

자신의 프로젝트 (또는 소스 코드가 있고이를 수정할 의향이있는 경우)에 동적으로 링크하지 않으려는 함수에 inline 함수를 사용할 수 있습니다.

+0

이것은 내 자신의 프로젝트이며 고맙습니다 .... –

1

정적 연결 및 가져 오기 라이브러리가 함께 사용되지 않습니다. 가져 오기 라이브러리는 링커가 호출하는 함수가 DLL에 있음을 알 수 있도록 돕는 데 사용됩니다.

정적 연결 (코드를 사용할 수 있다고 가정)을 원하는 경우 DLL 프로젝트를 정적 라이브러리로 다시 구성하고 다시 컴파일하십시오.

+0

".... 새 프로젝트를 만들지 않고 정적으로 다시 컴파일하지 않고 ? " -me ..... 아니요! –

관련 문제