【发布时间】:2015-12-28 21:33:37
【问题描述】:
我正在尝试加载一个名为“MathLib.dll”的简单 DLL 进行测试。 DLL 的路径是D:\Desktop\MathLib\MathLib.dll。在此代码中,dll 始终为 null,并打印“加载失败”。
#include "stdafx.h"
#include <Windows.h>
#include <iostream>
int main()
{
HINSTANCE dll = LoadLibrary(L"D:\Desktop\MathLib\MathLib.dll");
if (dll == NULL) {
std::cout << "Failed to load";
}
else {
std::cout << "Loaded!";
}
std::cin.get();
return 0;
}
我认为问题出在路径上,但我不知道我可以做些什么不同的事情。
【问题讨论】:
-
您需要在字符串文字
D:\\Desktop\\MathLib\\MathLib.dll中转义反斜杠,或使用原始字符串文字 -
在 Window 上处理路径时最好将反斜杠替换为正斜杠。这样它也会自动转义空格,字符串会更清晰。