<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://vmcc.vicp.net:9090/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://vmcc.vicp.net:9090/wiki/feed.php">
        <title>wiki vs2015</title>
        <description></description>
        <link>http://vmcc.vicp.net:9090/wiki/</link>
        <image rdf:resource="http://vmcc.vicp.net:9090/wiki/lib/tpl/dokuwiki/images/favicon.ico" />
       <dc:date>2026-04-21T17:15:53+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://vmcc.vicp.net:9090/wiki/doku.php?id=vs2015:dll&amp;rev=1679019144&amp;do=diff"/>
                <rdf:li rdf:resource="http://vmcc.vicp.net:9090/wiki/doku.php?id=vs2015:dll%E9%9A%90%E5%BC%8F%E4%B8%8E%E6%98%BE%E5%BC%8F%E8%B0%83%E7%94%A8&amp;rev=1679019144&amp;do=diff"/>
                <rdf:li rdf:resource="http://vmcc.vicp.net:9090/wiki/doku.php?id=vs2015:vc2017%E6%97%A0%E7%A6%BB%E7%BA%BF%E5%8C%85&amp;rev=1679019144&amp;do=diff"/>
                <rdf:li rdf:resource="http://vmcc.vicp.net:9090/wiki/doku.php?id=vs2015:vc_link2001_2009%E9%94%99%E8%AF%AF%E8%A7%A3%E5%86%B3&amp;rev=1679019144&amp;do=diff"/>
                <rdf:li rdf:resource="http://vmcc.vicp.net:9090/wiki/doku.php?id=vs2015:%E6%9C%89%E7%9A%84%E7%A8%8B%E5%BA%8F%E4%B8%BA%E4%BD%95%E5%8F%AA%E6%9C%89dll%E6%B2%A1%E6%9C%89lib&amp;rev=1679019144&amp;do=diff"/>
                <rdf:li rdf:resource="http://vmcc.vicp.net:9090/wiki/doku.php?id=vs2015:%E9%9D%99%E6%80%81%E5%BA%93lib%E4%B8%8E%E5%8A%A8%E6%80%81%E5%BC%95%E5%85%A5%E5%BA%93lib%E5%8C%BA%E5%88%AB&amp;rev=1679019144&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://vmcc.vicp.net:9090/wiki/lib/tpl/dokuwiki/images/favicon.ico">
        <title>wiki</title>
        <link>http://vmcc.vicp.net:9090/wiki/</link>
        <url>http://vmcc.vicp.net:9090/wiki/lib/tpl/dokuwiki/images/favicon.ico</url>
    </image>
    <item rdf:about="http://vmcc.vicp.net:9090/wiki/doku.php?id=vs2015:dll&amp;rev=1679019144&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-17T10:12:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vs2015:dll</title>
        <link>http://vmcc.vicp.net:9090/wiki/doku.php?id=vs2015:dll&amp;rev=1679019144&amp;do=diff</link>
        <description>dll

--目前自己测试发现vs2015企业版使用DLL功能。vs2015.ent_chs.iso

而且在实际测试中没有发现需要各种vc runtime dll。

参考网页：  &lt;https://blog.csdn.net/liguangxilgx/article/details/80552378&gt;

vs2015生成/调用DLL

DLL export/import 导入导出定义


// 下列 ifdef 块是创建使从 DLL 导出更简单的
// 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 MYDLL_EXPORTS
// 符号编译的。在使用此 DLL 的
// 任何其他项目上不应定义此符号。这样，源文件中包含此文件的任何其他项目都会将
// MYDLL_API 函数视为是从 DLL 导入的，而此 DLL 则将用此宏定义的
// 符号视为是被导出的。
#ifdef MYDLL_EXPORTS
#define MYDLL_API __declspec(dllexport)
#else
#define MYDLL_API __declspec(dllimport)…</description>
    </item>
    <item rdf:about="http://vmcc.vicp.net:9090/wiki/doku.php?id=vs2015:dll%E9%9A%90%E5%BC%8F%E4%B8%8E%E6%98%BE%E5%BC%8F%E8%B0%83%E7%94%A8&amp;rev=1679019144&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-17T10:12:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vs2015:dll隐式与显式调用</title>
        <link>http://vmcc.vicp.net:9090/wiki/doku.php?id=vs2015:dll%E9%9A%90%E5%BC%8F%E4%B8%8E%E6%98%BE%E5%BC%8F%E8%B0%83%E7%94%A8&amp;rev=1679019144&amp;do=diff</link>
        <description>C++ DLL的隐式与显式调用

个人理解

DLL分为显式与隐式调用，显式不需要.lib文件,而隐式需要.lib文件

但是这里有一个重要的问题，即visual stuido工具不同版本间的问题，目前vs主要三大版本vc2015, vc2017, vc2019，如果低版本vs使用高版本vc生成出来的.lib很有可能有问题（不知道是不是叫binary-compatibility restriction</description>
    </item>
    <item rdf:about="http://vmcc.vicp.net:9090/wiki/doku.php?id=vs2015:vc2017%E6%97%A0%E7%A6%BB%E7%BA%BF%E5%8C%85&amp;rev=1679019144&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-17T10:12:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vs2015:vc2017无离线包</title>
        <link>http://vmcc.vicp.net:9090/wiki/doku.php?id=vs2015:vc2017%E6%97%A0%E7%A6%BB%E7%BA%BF%E5%8C%85&amp;rev=1679019144&amp;do=diff</link>
        <description>vc2017无离线包

参考网页：&lt;https://www.cnblogs.com/danzhang/p/6534341.html&gt;

史上功能最强大的Visual Studio 2017版本发布，但是由于版本更新速度加快和与第三方工具包集成的原因，微软研发团队没有为这个版本提供离线下载的安装文件。如果用户处在一个与外网隔离的网络环境中，则必须首先自行创建理想安装包。下面在参考微软官方文档（Create an offline  installation of Visual Studio 2017 …）的基础上， 介绍如何创建离线包。…</description>
    </item>
    <item rdf:about="http://vmcc.vicp.net:9090/wiki/doku.php?id=vs2015:vc_link2001_2009%E9%94%99%E8%AF%AF%E8%A7%A3%E5%86%B3&amp;rev=1679019144&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-17T10:12:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vs2015:vc_link2001_2009错误解决</title>
        <link>http://vmcc.vicp.net:9090/wiki/doku.php?id=vs2015:vc_link2001_2009%E9%94%99%E8%AF%AF%E8%A7%A3%E5%86%B3&amp;rev=1679019144&amp;do=diff</link>
        <description>参考原文： &lt;https://www.cnblogs.com/wangqiguo/p/4348818.html&gt;

最近将两个开源C++项目编译成windows版本的时候遇到很多问题，关键是两个项目经过同事的修改之后，一个项目引用了另一个项目，两个项目的头文件中都有一些跨平台的关于数据类型，以及一些通用函数的定义，所以导致有冲突，编译的时候总是报错，报的最多的是“无法解析的外部符号”，经过近3天的折腾总算都通过了，这里是一些总结。…</description>
    </item>
    <item rdf:about="http://vmcc.vicp.net:9090/wiki/doku.php?id=vs2015:%E6%9C%89%E7%9A%84%E7%A8%8B%E5%BA%8F%E4%B8%BA%E4%BD%95%E5%8F%AA%E6%9C%89dll%E6%B2%A1%E6%9C%89lib&amp;rev=1679019144&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-17T10:12:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vs2015:有的程序为何只有dll没有lib</title>
        <link>http://vmcc.vicp.net:9090/wiki/doku.php?id=vs2015:%E6%9C%89%E7%9A%84%E7%A8%8B%E5%BA%8F%E4%B8%BA%E4%BD%95%E5%8F%AA%E6%9C%89dll%E6%B2%A1%E6%9C%89lib&amp;rev=1679019144&amp;do=diff</link>
        <description>有的程序为何只有dll没有lib

----------

首先，dll的调用不一定需要*.lib这个引入库。

dll调用分为两种方式，一是隐式链接，二是显式链接。隐式链接就是使用*.lib的，这就需要在编译的时候有这个lib文件。而显式链接，就是使用LoadLibrary这个API函数来实现动态加载，因此，不需要lib这样的引入库。</description>
    </item>
    <item rdf:about="http://vmcc.vicp.net:9090/wiki/doku.php?id=vs2015:%E9%9D%99%E6%80%81%E5%BA%93lib%E4%B8%8E%E5%8A%A8%E6%80%81%E5%BC%95%E5%85%A5%E5%BA%93lib%E5%8C%BA%E5%88%AB&amp;rev=1679019144&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-17T10:12:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vs2015:静态库lib与动态引入库lib区别</title>
        <link>http://vmcc.vicp.net:9090/wiki/doku.php?id=vs2015:%E9%9D%99%E6%80%81%E5%BA%93lib%E4%B8%8E%E5%8A%A8%E6%80%81%E5%BC%95%E5%85%A5%E5%BA%93lib%E5%8C%BA%E5%88%AB&amp;rev=1679019144&amp;do=diff</link>
        <description>静态库lib与动态引入库lib区别

原文：&lt;https://www.cnblogs.com/lidabo/archive/2012/08/14/2638763.html&gt;

在VC编程中常常碰到的.lib文件有一个需要注意的地方是：

静态库——函数和数据被编译进一个二进制文件（扩展名问.lib）。在使用静态库的情况下，在编译连接可执行文件时，连接器从库中复制这些函数和数据并把他们和应用程序的其他模块组合起来创建最终的可执行文件(.exe)文件，当发布产品时，只需要发布这个可执行文件，并不需要发布被使用的静态库。…</description>
    </item>
</rdf:RDF>
