今天想在VC中使用相对路径,因为还不清楚,于是就直接创建了一个文件,然后直接奔到debug目录下去找文件,结果事与愿违没有知道,却发现文件别创建到了工程文件所在的目录,因为我一直用的是C#,在C#中使用相对路径,那么是从debug下算起,而VC++确实从工程目录下算起,想到这些程序还真奇怪,趁现在刚刚发现就将这个记录下来,想到这里,又想知道VC++是如何加载dll的?得到的结果是:
1:被装载程序包的执行目录。
2:当前目录。如果与执行目录不同的话。
3:Windows系统目录
4:Windows目录。
5:Path中的目录。
那么看看Python中又是如何找到py文件的?
Python解释程序优先在当前路径搜索这个模块;
然后是PythonPath的每个目录;
Python的默认路径
看到这些问题,发现细心也是一种态度,因为细心可能很多时候让事情事半功倍。
附上VC中lib文件色设置方式:
①LIB文件直接加入到工程文件列表中
在VC中打开File View一页,选中工程名,单击鼠标右键,然后选中"Add Files to Project"菜单,在弹出的文件对话框中选中要加入DLL的LIB文件即可。
②设置工程的 Project Settings来加载DLL的LIB文件
打开工程的 Project Settings菜单,选中Link,然后在Object/library modules下的文本框中输入DLL的LIB文件。
③通过程序代码的方式
加入预编译指令#pragma comment (lib,"*.lib"),这种方法优点是可以利用条件预编译指令链接不同版本的LIB文件。因为,在Debug方式下,产生的LIB文件是Debug版本,如Regd.lib;在Release方式下,产生的LIB文件是Release版本,如Regr.lib。
当应用程序对DLL的LIB文件加载后,还需要把DLL对应的头文件(*.h)包含到其中,在这个头文件中给出了DLL中定义的函数原型,然后声明。