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

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这些操作系统库函数。

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

报告相同问题?

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)
  • ¥15 机器人轨迹规划相关问题
  • ¥15 word样式右侧翻页键消失