我想设置库的两个查找目录,
这样分两步写会覆盖掉
SetDllDirectory("E:\\dll");
SetDllDirectory("D:\\dll");
就是"D:\\dll"有效,“E:\\dll”无效。如果连在一起写,试过了也不行 SetDllDirectory("E:\\dll;D:\\dll");请教怎么写啊。。先谢了
这样分两步写会覆盖掉
SetDllDirectory("E:\\dll");
SetDllDirectory("D:\\dll");
就是"D:\\dll"有效,“E:\\dll”无效。如果连在一起写,试过了也不行 SetDllDirectory("E:\\dll;D:\\dll");请教怎么写啊。。先谢了
我也没试过,不敢保证一定有效。
这个api只对当前进程有效,不影响其它进程。
如果我在path里设置d:\\dll的话,系统提示错误:“无法定位程序输入点_TestFunc@20于动态链接库02.dll上”。
但如果我用SetDllDirectory("D:\\dll")设置路径的话就没有问题。
(我用depends看02.dll,除了_TestFunc@20外,其它方法名都没被改变,比如有Foo1Func、Foo2Func。)
提示错误的原因好像是没有经过extern “C”,所以那个函数名为_TestFunc@20,而不是TestFunc。
不知道和这个有没有关系。
就是说现在02.dll提供的方法有经过extern"C"过的,也有没经过extern"C"过的,
这种情况改怎么处理呢。