[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Suggestion for LoadLibrary in windows
- From: cloudwu <cloudwu@...>
- Date: Mon, 4 Dec 2006 19:07:58 +0800
Hello ,
In loadlib.c, line 128 :
HINSTANCE lib = LoadLibrary(path);
I think using LoadLibraryEx will be better. Like this:
HINSTANCE lib = LoadLibraryEx(path,NULL,LOAD_WITH_ALTERED_SEARCH_PATH);
The reason is the "Dynamic-Link Library Search Order" has
changed after Windows XP SP2.
(see http://msdn2.microsoft.com/en-us/library/ms682586.aspx )
LoadLibrary will load dll in system directory before current
directory by default settings.
That is , if your module dll has a name the same with a dll in
windows system directory, require may be failed.
For example, I create a C module named console.dll and put it in
my current directory. When I
require "console" In lua, it failed.
lua load the console.dll in windows\system32 instead of my
.\console.dll .
--
Best regards,
cloudwu mailto:cloudwu@163.com
http://blog.codingnow.com
[恢弘志士之气, 不宜妄自菲薄]