加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

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

发布时间:2020-12-14 01:46:48 所属栏目:Windows 来源:网络整理
导读:什么是MSVC库构建的标准或“最受欢迎”命名约定. 例如,对于以下平台,库foo具有以下约定: Linux的/ GCC: shared: libfoo.soimport: ---static: libfoo.a Cygwin的/ GCC: shared: cygfoo.dllimport: libfoo.dll.astatic: libfoo.a 在Windows / MinGW的: sh
什么是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,但除此之外,没有标准.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读