C++ 如何获取当前DLL的目录

C++ 如何获取当前DLL的目录,c++,go,C++,Go,我将在golang-o config.dll中构建c-shared 假设目录是c:\test\config.dll 在mail.dll中,我将打开一个配置文件。 此文件位于config.dll目录中。 c:\test\config.json 我用C++ C++代码:C:\Test\C++.DLL< /Cord>/< 在C++中,我使用< /P> { // NB: XP+ solution! HMODULE hModule = NULL; GetModuleHandleEx(

我将在golang
-o config.dll
中构建c-shared

假设目录是
c:\test\config.dll

在mail.dll中,我将打开一个配置文件。 此文件位于config.dll目录中。
c:\test\config.json

我用C++ C++代码:C:\Test\C++.DLL< /Cord>/< 在C++中,我使用< /P>

{ // NB: XP+ solution!
    HMODULE hModule = NULL;
    GetModuleHandleEx(
        GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS,
        (LPCTSTR)GetCurrentModule,
        &hModule);

    return hModule;
}
WCHAR path3[MAX_PATH + 1] = { 0 };
        HMODULE hm = GetCurrentModule();
        ::GetModuleFileName(hm, path3, MAX_PATH);
        PathRemoveFileSpec(path3);
// path3 c:\test\c++.dll
这在围棋中的等价物是什么

我试着用

os.Getwd()
runtime.Caller(1)
os.Args[0]
os.Executable()

我想获取目录
c:\test\
,您可以使用cgo在任何库中调用相同的函数