什么是MSVC DLL,静态库和导入库的正确命名约定

前端之家收集整理的这篇文章主要介绍了什么是MSVC DLL,静态库和导入库的正确命名约定前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
什么是MSVC库构建的标准或“最受欢迎”命名约定.

例如,对于以下平台,库foo具有以下约定:

Linux的/ GCC:

shared: libfoo.so
import: ---
static: libfoo.a

Cygwin的/ GCC:

shared: cygfoo.dll
import: libfoo.dll.a
static: libfoo.a

在Windows / MinGW的:

shared: libfoo.dll
import: libfoo.dll.a
static: libfoo.a

什么应该用于MSVC buidls?据我所知,通常名称是foo.dll和foo.lib,但是你通常如何区分导入库和静态库?

注意:我问,因为CMake在他们之间创建了相当unpleasant的冲突,将导入和静态库命名为foo.lib.见bug report.答案会
帮助我说服开发者解决这个bug.

您通过扩展名区分库和.dll.但是您可以通过文件名(而不是扩展名)区分导入库和静态库.

对于构建为静态库的一组代码,或者存在dll的静态库,不存在导入库的情况.这是两个不同的东西.

没有单个MSVC标准文件名约定.通常,以“D”结尾的库名通常是库代码的调试版本,msvcrtd.dll和msvcrt.dll,但除此之外,没有标准.

猜你在找的Windows相关文章