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

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 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题