为什么我需要将LIB文件链接到我的项目?[英] why do I need to link a lib file to my project?

本文是小编为大家收集整理的关于为什么我需要将LIB文件链接到我的项目?的处理方法,想解了为什么我需要将LIB文件链接到我的项目?的问题怎么解决?为什么我需要将LIB文件链接到我的项目?问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我正在创建一个使用DLL的项目.要构建我的项目,我需要包括一个标题文件和一个LIB文件.为什么我需要包括各自的LIB文件?标题文件不应该声明所有必要的信息,然后在运行时加载任何需要的库/dll?

谢谢

推荐答案

在许多其他语言中,您所需要的等同于标题文件.但是Windows上的常见C链接器始终使用导入库,C ++链接效仿,现在更改可能为时已晚.

作为一个思想实验,可以想象这样的语法:

__declspec(dllimport, "kernel32") void __stdcall  Sleep(DWORD dwMilliseconds);

使用该信息武装编译器/链接器工具链可以完成其余的.

作为另一个例子,在Delphi中,使用隐式链接将导入此功能,例如:

procedure Sleep(dwMilliseconds: DWORD); stdcall; external 'kernel32';

只是表明导入库不是一个先验,对于链接到DLL的必不可少的.

其他推荐答案

是一个所谓的"导入库",其中包含最小的接线,以后(加载时间)要求操作系统加载DLL.

其他推荐答案

dlls是窗口(MS/Intel)的东西. (生成的)lib包含调用DLL所需的代码,并将"正常"功能暴露于应用程序的其余部分.

本文地址:https://www.itbaoku.cn/post/359345.html