LoadLibrary()을 사용하여 동적으로 DLL을로드하려고하는데, 호출하려고하는 DLL에서 함수의 주소를 가져올 수 없습니다. DLL 기능 : (CPP 파일) _declspec(dllexport) void MyDllFunc()
{
printf("Hello from DLL");
}
호출 코드 : typedef void (*MyDllFunc
내 회사에서는 .def 개의 파일을 사용하여 내보낼 기호를 지정합니다. (나는 더 현대적이고 자동화 된 기술을 사용할 수 있었으면 좋겠다. 불행히도, 80 년대에 살기로 결정한 사람들). .def 파일을 수동으로 작성하면 수동 복사 붙여 넣기를 사용하는 것이 지루하고 오류가 발생하기 쉽지만 지금까지는 그 파일과 함께 살 수 있습니다. 그러나 DLL의 64
일부 패치를 적용하려면 Windows API's PatchAPI을 사용하고 싶습니다. 패치 적용은 mspatcha.dll에서 구현됩니다. mspatcha.dll은 자신의 system32 폴더에 있어야합니다. ref 및 인터넷 검색과 같은 다양한 장소에서 읽은 후에는 아직이 DLL에 연결할 수있는 올바른 방법을 찾지 못했습니다. 나는 정적으로 링크하고 싶습니
안녕하세요 저는 C DLL에서 C++/CLI로 함수를 호출하고 싶습니다. C 함수는 extern으로 선언됩니다. 내가에만 .H에 서명을 제공 한 후 함수를 작성하는데있어 알고 // testWrapper.h
#pragma once
using namespace System;
namespace testWrapper {
extern "C" int G
나는 프로토 타입 일부 C++ 함수를 선언했다. MinGW의 stdcall @ -suffix 때문에 undefined reference to [email protected]으로 인해 exe 또는 dll을 작성할 수 없습니다. @없이 ... 그냥 일반 함수 이름을 가진 객체 파일을 얻으려면 어떻게해야합니까?
관리 코드가있는 관리되지 않는 C++ DLL에 LoadLibrary를 적용한 다음 맹 글링 된 extern 함수에서 GetProcAddress를 호출 할 수 있기를 바랍니다. 제 질문은 당신이 C++ 컴파일러에서 결정 론적으로 얻은 맹 글링 된 이름입니까? 즉 : 원래의 서명이 변경되지 않은 경우 이름이 항상 동일한 맹 글링 된 이름으로 변환됩니까?
일반 C/cdecl로 내 보낸 기호가있는 타사 LIB가 있으므로 dumpbin.exe /SYMBOLS은 __imp_nvmlInit 및 nvmlInit 모두를 내보냈 음을보고합니다. 그러나 비주얼 스튜디오 2010에서 내가 그들을 가져올 때, 헤더 파일은 extern "C" nvmlReturn_t nvmlInit(...);
있을 것이다하지만 컴파일 할 때
표준 타사 클라이언트와 통합 할 ActiveX DLL이 있습니다. 이를 위해 맞춤 DEF 파일, 프록시 링커를 포함하고 COM 라이브러리를 자체 초기화해야했습니다. 내가 만든 클라이언트로 ActiveX DLL을 테스트 할 때 정상적으로 실행됩니다. 그러나 타사 클라이언트에 ActiveX DLL을 포함 시키면 특정 함수 호출에서 충돌이 발생합니다. 나는 충돌