dll.cpp,用vc2017编译

#include <iostream>
#include <windows.h>

extern "C" __declspec(dllexport) void Go() {
  std::cout << "go" << std::endl;
}

BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}

main.cpp 用mingw64的g++编译

#include <iostream>

extern "C" __declspec(dllimport) void Go();
int main (int argc, char **argv)
{ 

  Go();
  return 0;
}

将dll.lib dll.dll dll.exp dll.pdb复制到main.cpp当前目录,编译:

g++ main.cpp -ldll -L.

 

posted on 2018-05-28 17:38  袁晓平  阅读(318)  评论(0编辑  收藏  举报