OneWheel 2021-06-23 11:42 采纳率: 100%
浏览 1446
已采纳

api-ms-win系列dll是什么,干嘛用的

我用vs2019写程序时,编译出的exe要使用的api会链接到api-ms-win开头的dll上,比如api-ms-win-core-file-l2-1-0.dll而不是之前的kernel32,user32(先叫它们系统dll吧)

我很好奇这些文件是干嘛用的,之前直接链接到系统dll不是很好吗?这样编译出的程序也小,兼容性也好。现在在网上下载一些工具,一运行就提示api-ms-win-xxx找不到。然后因为兼容性问题要折腾半天。。。我的程序链接到这些dll上,相比于直接链接到系统dll有什么优点吗?(为什么现代的vs编译器都会这样做)

现在我在网上了解到的是,win-crt-win是"补丁文件",另一种说是"延迟加载的dll"。然后其他的全是某某程序丢失这些dll的修复方法,没有什么更详细的信息。我想问的是这些dll是干嘛用的,msdn上面有关于这些dll的介绍和用途吗,我怎么才能通过设置vs让编译器不要链接到这些dll?

  • 写回答

1条回答 默认 最新

  • qfl_sdu 2021-06-23 11:57
    关注

    api-ms-win这些都是操作系统提供的动态库,c/c++的库函数依赖这些库文件(或者说,c/c++提供的函数和功能是建立在这些库基础上的),比如说,在代码中调用了printf函数,printf函数会调用系统底层的api-ms这些库来实现最终的打印功能。调用顺序是:用户写的api  调用 C/C++提供的函数  ,C/C++提供的函数 调用api-ms这些操作系统库函数。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 Macbookpro 连接热点正常上网,连接不了Wi-Fi。
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题