我将在golang -o config.dll中构建c-shared。
假设目录为c:\test\config.dll在mail.dll中,我将打开一个配置文件。
该文件位于config.dll目录中。c:\test\config.json我用c ++ c:\test\c++.dll来称呼它。
在C++中,我使用

{ // 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
Go中的等效功能是什么?
我尝试使用
os.Getwd()
runtime.Caller(1)
os.Args[0]
os.Executable()
我想获取目录c:\test\

最佳答案

您可以使用cgo在存在的任何库中调用相同的函数。

09-10 04:56
查看更多