我已经阅读了将dll导入项目的代码,但我不明白为什么我们在路径之前有“L”
module = LoadLibrary(L"freeglut.dll");
我如何设置绝对路径,如“C:/ VisualStudo / Project”
我如何设置相对路径?比如“../../ Project1”
由于
答案 0 :(得分:3)
L是字符串文字前缀,表示该字符串由宽字符(wchar_t)组成。
在Windows中,你有两个版本的LoadLibrary:LoadLibraryA
(ansi)和LoadLibraryW
(unicode),通常sone #define
为你的编译选择合适的版本。如果您使用的是A版本,则必须传递ansi字符串,因此不需要L,如果您使用的是LoadLiraryW,则必须以Unicode格式传递字符串,因此L作为前缀。
答案 1 :(得分:0)
L告诉编译器以下字符串是一个宽字符串。宽字符串依赖于编译器,但在流行的C ++编译器中,字符串被解释为unicode字符串,并且被编码为(编码依赖于编译器)。对于Visual C ++,字符串编码为UTF-16,与Windows API预期的字符串匹配。