我想開發一個使用LoadLibrary的插件系統。
我的問題是:我想我的功能採取const char*
和LoadLibrary
需要LPCTSTR
。
我有明亮想法做(LPCSTR)path
這不斷給我一個模塊找不到錯誤。
當前代碼如下。如果我取消widepath = L..
行的註釋,它工作正常。我已經閱讀使用MFC的解決方案,但我不想使用MFC。LoadLibrary取LPCTSTR
當前代碼:
bool PluginLoader::Load(char *path)
{
path = "Release\\ExamplePlugin.dll";
LPCTSTR widepath = (LPCTSTR)path;
//widepath = L"Release\\ExamplePlugin.dll";
HMODULE handle = LoadLibrary(widepath);
if (handle == 0)
{
printf("Path: %s\n",widepath);
printf("Error code: %d\n", GetLastError());
return false;
}
int (*load_callback)() = (int (*)()) GetProcAddress(handle, "[email protected]");
if (load_callback == 0)
{
return false;
}
return load_callback() == LOAD_SUCCESS;
}
爾加。謝謝,我感到遲鈍,但在我的防守中,添加A並不那麼直觀。 – Ben
這就是爲什麼這個網站存在,它涵蓋了直觀;-) –