.exp有什么用,.lib和.dll有什么区别?

2024-03-27

在编译和链接过程中,.exp有什么用? .lib 和 .dll 有什么区别?我知道运行程序时会使用.lib,而链接和.dll将被使用。但.lib 和.dll 之间到底有什么区别呢?

.lib 文件是否不包含来自 .dll 文件的函数的代码? 使用两个单独的文件有什么必要?

请澄清。


对于 DLL 的导入库,.lib 文件不会not根本不包含任何实际代码。它基本上只包含关联 DLL 中的函数列表——足以让链接器将对该 DLL 的引用嵌入到与库链接的内容中,但仅此而已。

.exp 文件是导出文件——基本上与 .lib 文件相同。当你有循环依赖时,它会被使用(至少主要是)。例如,假设您有一个充当可执行文件插件的 DLL。可执行文件提供一些导出函数供插件 DLL 使用,但也需要能够调用插件中的一些函数(例如加载和初始化插件)。

在构建可执行文件以提供 .lib 文件之前,DLL 不会链接,但在构建 DLL 以提供 .lib 文件之前,可执行文件不会链接。要打破依赖性,您可以针对可执行文件运行链接器,但会失败(因为它找不到 DLL 的 .lib 文件),但是will生成一个 .exp 文件。然后,将 DLL 链接到可执行文件的 .exp 文件。然后,您可以使用 DLL 的 .lib 文件重新运行链接以生成可执行文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.exp有什么用,.lib和.dll有什么区别? 的相关文章

  • 如何使用 ASP.NET MVC 编辑多选列表?

    我想编辑一个如下所示的对象 我希望用 UsersGrossList 中的一个或多个用户填充 UsersSelectedList 使用 mvc 中的标准编辑视图 我只得到映射的字符串和布尔值 下面未显示 我在 google 上找到的许多示例都
  • 无法将 std::min 传递给函数,std::min 的副本有效

    Passing std min函数无法编译 我复制了 libcpp 声明std min进入我的源文件并且它可以工作 std 版本有什么问题 clang 和 gcc 也会发生同样的情况 在 Godbolt 上测试 https godbolt
  • IEnumerable 的 String.Join(string, string[]) 的类似物

    class String包含非常有用的方法 String Join string string 它从数组创建一个字符串 用给定的符号分隔数组的每个元素 但一般来说 它不会在最后一个元素之后添加分隔符 我将它用于 ASP NET 编码 以用
  • 并行化斐波那契序列生成器

    我正在学习并行化 在一项练习中 我得到了一些我应该提高性能的算法 其中之一是斐波那契数列生成器 array 0 0 array 1 1 for q 2 q lt MAX q array q array q 1 array q 2 我怀疑 这
  • C 中“complex”的默认类型

    根据我读过的文档 C99 和更高版本的支持float complex double complex and long double complex作为复杂类型 但是 此代码在使用时编译时不会发出警告gcc Wall Wextra inclu
  • 静态类与类的实例

    我有一个静态类 用于访问我的公共属性 整个应用程序的全局属性 和我在应用程序运行期间使用的方法 例如 我在静态类中设置了一些属性 并且在应用程序运行时我可以从属性中获取值 但我可以使用单例模式创建非静态类并以相同的方式使用它 问题 对于我的
  • 如何使用递归查找数字中的最小元素 [C]

    好的 所以我正在准备我的 C 考试 当谈到递归时我有点卡住了我是大学一年级的学生 这对我来说似乎有点困难 练习要求在给定的数字中使用递归函数我需要找到最小的元素 例如 52873 是 2 程序需要打印 2 include
  • Xamarin - SignalR 挂在连接上

    我正在尝试将我的 Xamarin 应用程序连接到托管在 Azure 上的 SignalR 后端 我遇到的问题是每次我在 HubConnection 上调用 StartAsync 时 它都会挂起客户端并且请求永远不会完成 我尝试通过应用程序进
  • 时间:2019-03-17 标签:c++fstream并发访问

    如果从不同的进程 线程同时访问文件会发生什么 据我所知 没有锁定文件的标准方法 只有操作系统特定的功能 就我而言 文件将被经常读取而很少写入 现在如果A打开一个文件进行读取 ifstream 并开始读取块 和B打开相同的文件进行写入 ofs
  • Resharper:IEnumerable 的可能多重枚举

    我正在使用新的 Resharper 版本 6 在我的代码中的几个地方 它给一些文本加了下划线 并警告我可能存在IEnumerable 可能的多重枚举 我理解这意味着什么 并在适当的情况下采纳了建议 但在某些情况下 我不确定这实际上是一个大问
  • C++ 到 C# 事件处理

    所以我有我的C WinForm 应用程序 我从中调用我的C CLI MFC dll图书馆 但也有一些events在我的 C 库上 甚至此事件也发生在该库的本机 非 CLI 部分 我需要从我的 C 应用程序调用一些代码 并获取一些有关此事件的
  • ALTER TABLE ... ADD CONSTRAINT 失败时将事务回滚到保存点

    有没有办法在事务中添加检查约束and如果失败回滚到以前的保存点 而不是回滚整个事务 就我而言 当 ALTER TABLE ADD CONSTRAINT 命令失败时 事务无法回滚到保存点 尝试这样做会引发 InvalidOperationEx
  • 浮点字节序?

    我正在为实时海上模拟器编写客户端和服务器 并且由于我必须通过套接字发送大量数据 因此我使用二进制数据来最大化可以发送的数据量 我已经了解整数字节顺序以及如何使用htonl and ntohl为了规避字节顺序问题 但我的应用程序与几乎所有模拟
  • 如何在dll级别读取app.config? [复制]

    这个问题在这里已经有答案了 我在一个解决方案中有一个控制台应用程序项目和库项目 dll The 图书馆项目有 app config 文件 我在其中存储我在库中使用的一些键值对 控制台应用程序引用此 dll 我有另一个 app config
  • Autoconf 问题:“错误:C 编译器无法创建可执行文件”

    我正在尝试使用 GNU 自动工具构建一个用 C 编写的程序 但显然我设置错误 因为当configure运行 它吐出 configure error C compiler cannot create executables 如果我看进去con
  • 在哪里可以下载没有 Visual Studio 2010 的 C# 4.0 编译器?

    我知道 CTP VS 2010 映像 但我可以只下载 NET Framework 4 0 和 C 编译器吗 AFAIK VS 2010 CTP 仅作为 VM 映像提供 我不相信 Microsoft 发布了 VS 的安装程序 其中一个绝对不适
  • Linq.Select() 中的嵌套表达式方法调用

    I use Select i gt new T 每次手动点击数据库后将我的实体对象转换为 DTO 对象 以下是一些示例实体和 DTOS 用户实体 public partial class User public int Id get set
  • 这种尺寸对齐是如何工作的

    对于所提供的评论 我无法理解以下代码 这段代码的作用是什么 以及等效的代码是什么8 aligned segment size must be 4 aligned attr gt options ssize 3 Here ssize is o
  • 将 char 绑定到枚举类型

    我有一段与此非常相似的代码 class someclass public enum Section START MID END vector section Full void ex for int i 0 i section
  • C++ Boost ASIO 简单的周期性定时器?

    我想要一个非常简单的周期性计时器每 50 毫秒调用我的代码 我可以创建一个始终休眠 50 毫秒的线程 但这很痛苦 我可以开始研究用于制作计时器的 Linux API 但它不可移植 I d like使用升压 我只是不确定这是否可能 boost

随机推荐

  • 在循环期间使用 while mysql_fetch_array 和 UPDATE

    我正在尝试从一个表中提取数据 将列与变量进行比较 然后如果它们匹配 则添加它们并更新另一个表上的字段 看来 UPDATE 只在 while 循环内工作一次 并将该一次的值放入整个表中该列的每一行中 奇怪的是 当我回显它时 所有值都是正确的
  • 数据表导出到 Excel <选择选项>

    在我的测试页中 我插入了一个选项列表 我需要仅将所选值导出到 Excel 但现在我的 Excel 结果包括 选择选项 的所有列表 My code
  • 如何使用 PHP 解析序列化数据?

    这是我的序列化数据的示例 a 10 s 7 contact s 1 1 s 19 profile affiliation s 23 University Inc s 18 profile first name s 3 Ben s 22 pr
  • 如何在shutil.copytree中编写忽略的回调函数

    我对 python 比较陌生 我正在尝试将一个目录复制到另一个维护结构的目录 我在用 shutil copytree src dst symlinks False ignore None copy function copy2 ignore
  • 无法读取未定义的属性“executeScript”

    我按照 chrome 扩展的 入门 教程进行操作 但出现以下错误 我搜索谷歌 有人说无法访问 content js 中的 executeScript 但错误来自 popup js 我曾尝试将 chrome scripting execute
  • 如何 npm 更新 package-lock.json 中的依赖项版本?

    正如标题所示 但是 如果可能的话 我不想在 package lock json 中手动重写版本字符串 我尝试了以下方法 如何将 package json 中的每个依赖项更新到最新版本 https stackoverflow com ques
  • 无法从“const jchar *”转换为“const wchar_t *”

    这是从 cpp 文件引发的错误 我正在使用 Visual Studio 10 和 windows7 32 位 并从 Eclipse Indigo 进行编译 AUWideString JNIEnv jni jstring jstr mJni
  • 如何在 Tkinter 中悬停后更改多个小部件的颜色?

    我正在尝试制作一个脚本 它将在悬停后更改小部件的背景和前景色 from Tkinter import root Tk Hover1 Button root text Red color bg white Hover1 pack Hover2
  • WPF。是否可以进行椭圆“矩形边界”命中测试?

    是否可以在椭圆边界矩形中进行命中测试 就像这张图片上一样 http s22 postimg org 6co1y7vap image png 您可以将它们都放入 border 网格中并检查是否被单击 XAML
  • ElementListUnion - 为通用列表对象提供重复注释的简单 xml

    我正在尝试使用 elementlistunion 反序列化列表字段 Customer java ElementListUnion ElementList inline false type Thing class ElementList i
  • 如何修复:项目中未使用 Google Sheets API

    我想建立一个问卷调查线聊天机器人并将答案传输到谷歌表 这是我的代码 导入操作系统 from flask import Flask request abort from linebot import LineBotApi WebhookHan
  • TFS 2010:使用内部版本号格式的标签名称

    我正在尝试使用 TFS 2010 设置构建 我希望构建编号格式类似于 BuildDefinitionName 版本 where 版本 是在 队列构建 对话框的 获取版本 字段中指定的版本 标签或变更集 如果没有具体版本 我想要的版本是lat
  • 等轴散点图

    我有一个如下所示的数据集 DataFrame lt data frame x runif 25 y runif 25 z sample letters 1 4 25 rep TRUE 并使用 Lattice 包 我可以用以下几行绘制等轴散点
  • CKEditor 安全最佳实践

    我在用http ckeditor com http ckeditor com 在我建立的一个小型 PHP MySQL 论坛中 我的问题 将用户创建的 HTML 像这样保存在数据库中然后在我的应用程序中重新显示它是否安全 我应该采取哪些预防措
  • 文件下载 - 如何控制文件名并尊重用户的偏好?

    我的网站上有一个 blob url 和一个按钮 用户可以单击该按钮 然后 Blob 将在新选项卡中打开 a class downloadlink target blank href blobUrl a 这有效 如果用户对此 blob 后面的
  • JS中如何获取图像的DPI?

    我在 HTML5 画布上工作来计算图像上两点之间的距离 我想将以像素为单位的距离转换为厘米 我找到了一个公式 像素 2 54 DPI 所以我想知道是否可以在JS中获取DPI图像属性 或者 我可以使用最简单的方法从像素计算厘米吗 谢谢 您所要
  • 计算元组大小

    我试图了解列顺序如何最小化 PostgreSQL 中的表大小 Example CREATE TABLE test column 1 int column 2 int column 3 bigint column 4 bigint colum
  • iBeacons 的三角测量示例

    我正在研究使用多个 iBeacons 进行 粗略 室内定位的可能性 该应用程序是一种 博物馆 设置 能够更容易地形成一个包含不同对象位置的网格 然后形成单独的信标 尽管这也不是不可能的 是否有使用多个信标对某种位置进行三角测量的示例 经验
  • 使用 itextsharp 将 Pdf 文件页面转换为图像

    我想使用 ItextSharp 库转换图像中的 Pdf 页面 知道如何转换图像文件中的每个页面 iText iTextSharp 可以生成和 或修改现有的 PDF 但它们不执行您正在寻找的任何渲染 我建议检查一下鬼脚本 https stac
  • .exp有什么用,.lib和.dll有什么区别?

    在编译和链接过程中 exp有什么用 lib 和 dll 有什么区别 我知道运行程序时会使用 lib 而链接和 dll将被使用 但 lib 和 dll 之间到底有什么区别呢 lib 文件是否不包含来自 dll 文件的函数的代码 使用两个单独的