1 vs工程输出了dll和lib,分别是什么,有什么用?
当设置工程property的Project Defaults的Configuration Type为dll时,不光会生成该动态链接库的dll文件,还会生成该动态链接库的lib文件。
当设置工程property的Project Defaults的Configuration Type为lib时,即为静态链接库时,只会生成lib文件。
这两个不同的设置生成的lib文件是不同的,明显的生成静态链接库的lib文件(2605KB)要大于生成动态链接库的副产品lib文件(39KB)。
2 为什么生成了dll还需要lib文件?
3 生成dll的lib和静态库lib的区别
4 静态库中使用另外的库和动态库中使用另外的库的区别
生成静态库的话,只关心编译,不关心链接,也就是说,生成静态库的时候,不会去链接它所使用的其它的静态库,只要告诉其它库的头文件就可以了。只有在生成最终的可执行文件的时候才需要链接。
生成动态库的话,既要关心编译,也要关心链接。
5 vs2013 solution中的一个project如果坏了的话
如果xxx.vcxproj.filters文件是好的,那么将xxx.vcxproj.user删掉,将Debug目录删掉,就好了。
6 vs2013下查看stl容器中的值的技巧
stl的容器比如vector的内部实现的数据结构是很复杂的,真正的数据被包得很深,因此想要直接watch它里面的内容是很困难的。
还好,我们关心的只是里面的值,所以,可以用stl提供的容器的函数来直接查看即可。比如,通过size可以知道里面有2个元素。
那么要查看第一个元素的值,只需要xxx.at(0)即可,查看第二个元素的值,只需要xxx.at(1)即可。