有办法将windows api一起封装到dll中文

CT8100 总经理  2017-11-30 11:21:14
VC。。。因为windows版本问题,api存在很多差异,合计直接将api函数封装到dll这个可行么?特别是local系列api
...全文
341 12 点赞 打赏 收藏 举报
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
CT8100 2017-11-30
引用 1 楼 zhao4zhong1 的回复:
百度搜“Windows运行时库”?
姜还是老的辣。。。。。对了关于API-MS-WIN-CORE系列的库也有集成包么?
  • 打赏
  • 举报
回复
赵4老师 2017-11-30
百度搜“Windows运行时库”?
  • 打赏
  • 举报
回复
CT8100 2017-11-30
引用 10楼赵4老师 的回复:
想一想为什么连VS2017安装时的自定义选项中都有“Windows运行时库”。
刚开始思考的思路不对…谢谢四爷
  • 打赏
  • 举报
回复
CT8100 2017-11-30
引用 9楼我是你的主体 的回复:
[quote=引用 8 楼 DelphiGuy 的回复:] API-MS-WIN*系列DLLs只是一些空实现,目的大概是把API接口和底层实现隔离开,目前的实现API-MS-WIN*中的导出函数在windows加载该DLL的时候被修改成jmp到具体实现的函数入口,以后就不好说了,也可能加上审查代码,或者底层的实现DLLs完全没有导出了。程序不应该直接使用这些中转DLLs,ms完全可以在每个版本中修改这些DLLs的数量和名称(实际上ms在这些DLL的说明中都写着ApiSet Stub DLL),API-MS-WIN-CORE-FILE-L1-1-0.DLL在win10 10240里仍然存在,在14393+中就没有了。当然你如果针对每个windows版本都带上一套这些DLLs也是可以的,反正很小。
那么我有个疑问那14393+win10系统,是怎么兼容之前的软件的,还是说动态库不需要这些API也可以正常工作?[/quote]已经论证过了-不需要依赖!谢啦
  • 打赏
  • 举报
回复
赵4老师 2017-11-30
想一想为什么连VS2017安装时的自定义选项中都有“Windows运行时库”。
  • 打赏
  • 举报
回复
CT8100 2017-11-30
引用 8 楼 DelphiGuy 的回复:
API-MS-WIN*系列DLLs只是一些空实现,目的大概是把API接口和底层实现隔离开,目前的实现API-MS-WIN*中的导出函数在windows加载该DLL的时候被修改成jmp到具体实现的函数入口,以后就不好说了,也可能加上审查代码,或者底层的实现DLLs完全没有导出了。程序不应该直接使用这些中转DLLs,ms完全可以在每个版本中修改这些DLLs的数量和名称(实际上ms在这些DLL的说明中都写着ApiSet Stub DLL),API-MS-WIN-CORE-FILE-L1-1-0.DLL在win10 10240里仍然存在,在14393+中就没有了。当然你如果针对每个windows版本都带上一套这些DLLs也是可以的,反正很小。
那么我有个疑问那14393+win10系统,是怎么兼容之前的软件的,还是说动态库不需要这些API也可以正常工作?
  • 打赏
  • 举报
回复
API-MS-WIN*系列DLLs只是一些空实现,目的大概是把API接口和底层实现隔离开,目前的实现API-MS-WIN*中的导出函数在windows加载该DLL的时候被修改成jmp到具体实现的函数入口,以后就不好说了,也可能加上审查代码,或者底层的实现DLLs完全没有导出了。程序不应该直接使用这些中转DLLs,ms完全可以在每个版本中修改这些DLLs的数量和名称(实际上ms在这些DLL的说明中都写着ApiSet Stub DLL),API-MS-WIN-CORE-FILE-L1-1-0.DLL在win10 10240里仍然存在,在14393+中就没有了。当然你如果针对每个windows版本都带上一套这些DLLs也是可以的,反正很小。
  • 打赏
  • 举报
回复
CT8100 2017-11-30
引用 6 楼 paschen 的回复:
[quote=引用 5 楼 CT8100的回复:][quote=引用 4 楼 paschen 的回复:] WINDOWS API本身基本就是在DLL文件中,如kernel32.dll user32.dll gdi32.dll等等
对的~但是不同操作系统kernel32.dll user32.dll gdi32.dl的依赖项不是有差异的的么,如果单纯的替换掉一层依赖项,不是会出现部分函数入口无法跟踪到么。。。然后也容易反生依赖像空缺的现象呀, 还有API-MS-WIN-CORE-FILE-L1-1-0.DLL系列的动态库为什么有的操作系统没有,晕倒,,,,[/quote] C/C++运行时就可以跨不同平台,但不同系统本身的API则肯定是不行 可以在http://www.dllzj.com/search.aspx?name=上搜索DLL[/quote] 缺少的dll有点多。。。。有没有集合的安装包。。。推荐一下。。。
  • 打赏
  • 举报
回复
paschen 2017-11-30
引用 5 楼 CT8100的回复:
[quote=引用 4 楼 paschen 的回复:] WINDOWS API本身基本就是在DLL文件中,如kernel32.dll user32.dll gdi32.dll等等
对的~但是不同操作系统kernel32.dll user32.dll gdi32.dl的依赖项不是有差异的的么,如果单纯的替换掉一层依赖项,不是会出现部分函数入口无法跟踪到么。。。然后也容易反生依赖像空缺的现象呀, 还有API-MS-WIN-CORE-FILE-L1-1-0.DLL系列的动态库为什么有的操作系统没有,晕倒,,,,[/quote] C/C++运行时就可以跨不同平台,但不同系统本身的API则肯定是不行 可以在http://www.dllzj.com/search.aspx?name=上搜索DLL
  • 打赏
  • 举报
回复
CT8100 2017-11-30
引用 4 楼 paschen 的回复:
WINDOWS API本身基本就是在DLL文件中,如kernel32.dll user32.dll gdi32.dll等等
对的~但是不同操作系统kernel32.dll user32.dll gdi32.dl的依赖项不是有差异的的么,如果单纯的替换掉一层依赖项,不是会出现部分函数入口无法跟踪到么。。。然后也容易反生依赖像空缺的现象呀, 还有API-MS-WIN-CORE-FILE-L1-1-0.DLL系列的动态库为什么有的操作系统没有,晕倒,,,,
  • 打赏
  • 举报
回复
paschen 2017-11-30
WINDOWS API本身基本就是在DLL文件中,如kernel32.dll user32.dll gdi32.dll等等
  • 打赏
  • 举报
回复
CT8100 2017-11-30
话说为啥windows10会没有API-MS-WIN-CORE-FILE-L1-1-0.DLL系列的动态库~感觉像做梦一样。
  • 打赏
  • 举报
回复
相关推荐
发帖
工具平台和程序库
加入

2.4w+

社区成员

C/C++ 工具平台和程序库
申请成为版主
帖子事件
创建了帖子
2017-11-30 11:21
社区公告
暂无公告