我对DLL和LIB知之甚少,除了它们包含程序正常运行所需的重要代码 - 库.但是为什么编译器会生成它们呢?将所有代码包含在单个可执行文件中会不会更容易?DLL和LIB之间的区别是什么?
我想有一个Visual Studio项目,它构建一个DLL文件和一个导入库(.lib)文件.(导入库是一个静态链接库,负责在其他使用它的项目中加载该DLL文件).
所以我去了Visual Studio C++ 2008 Express Edition,创建了类库类型的新项目,并将"配置类型"设置为"Dyanamic Library(.dll)".
但是当我构建解决方案时,我看到的唯一相关输出文件是DLL文件; 我没有看到生成任何LIB文件.我查看了项目目录和所有子目录(Release和Debug).
我相信可以同时构建LIB和DLL文件,因为在MSDN上它说"链接器在构建DLL时创建导入库". 此外,该网站的另一个用户是使用Visual C++同时创建LIB和DLL文件.
那我该怎么办呢?
我有.lib从C代码编译的文件.我怎么知道在运行时是否需要这个自包含的静态库或者只需要一个导入的lib和DLL?有一些dumpbin选项我失踪?