Windows API DLL文件的许可证文件 [英] License file for Windows API DLL files

查看:149
本文介绍了Windows API DLL文件的许可证文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的朋友正在准备分发他的软件,并希望清理他使用的软件的许可证。他的策略是收集提供许可证文本的所有文件。

My friend is currently in preparation of distributing his software and wants to cleanup on the licenses of software he uses. The strategy is that he collects all the files that provides the licensing text.

他收集了所有明显的许可证,例如Qt库的Qt许可证使用。但是,他还使用Windows附带的一些Windows DLL,例如 kernel32.dll advapi32.dll

He finished collecting all the "obvious" licenses, such as the Qt license of the Qt libraries he uses. However he also uses some of the Windows DLLs that come with Windows, such as kernel32.dll and advapi32.dll.

他可以在哪里找到许可证文件,以便他可以用他的软件发布它?第一个DLL文件 kernel32 似乎根据 http://en.wikipedia.org/wiki/Auto-linking 指令。第二个文件 advapi32.dll 明确链接到他的软件,他想通过收集提供许可证的文件来清理该文件的情况。

Where can he find the license files so that he can publish it with his software? The first DLL file, kernel32 appears to be automatically linked to his software based on an http://en.wikipedia.org/wiki/Auto-linking directive. The second file, advapi32.dll is linked explicitly to his software, and he wants to cleanup the situation of that file by collecting the file that provides the license.

对于debian linux,他知道这些文件在 / usr / share / doc /<图书馆> / copyright

For debian linux for example, he knows that the files are below /usr/share/doc/<package of the library>/copyright.

推荐答案

不是一个选项,分发这些Windows组件无法正常工作。不同的Windows版本具有非常不同的这些DLL的实现。即使具有相同版本的计算机也可能具有不同的DLL版本,这些运行时组件通常由Windows Update更新。强制覆盖它们通常是灾难性的,但是Windows中的文件系统保护功能会恢复损坏。

Not an option, distributing those Windows components cannot work. Different Windows versions have very different implementations of these DLLs. Even computers with the same version may have different DLL versions, these runtime components are often updated by Windows Update. Forcibly overwriting them would be normally disastrous, but the File System Protection feature in Windows recovers the damage.

根本不需要分发这些DLL。每个Windows机器都有它们,以及来自Microsoft的坚定承诺,只要程序员在他的代码中正确设置了_WIN32_WINNT宏,它们将与程序兼容。它选择了他选择支持的最低版本的Windows版本,它防止意外地依赖仅在稍后版本中使用的winapi函数。弄错了,只是阻止程序启动。

There simply is no need to distribute these DLLs. Every Windows machine already has them, along with a solid promise from Microsoft that they will be compatible with the program as long as the programmer set the _WIN32_WINNT macro correctly in his code. Which selects the minimum Windows version that he chooses to support, it prevents accidentally taking a dependency on winapi functions that are only available in later versions. Getting that wrong simply prevents the program from starting.

这篇关于Windows API DLL文件的许可证文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆