非COM、非.NET DLL的名称是否正确?

非COM、非.NET DLL的名称是否正确?,.net,windows,com,dll,.net,Windows,Com,Dll,在Windows世界中,一个好的名称的正确名称是什么。具有输出功能的老式C++ DLL?不是COM DLL,也不是.NET DLL。我们通过调用LoadLibrary()和GetProcAddress()调用的DLL类型 我一直称它们为“平面DLL”,因为调用方无法从DLL实例化对象,但正确的名称是什么 编辑 谢谢你的回答 仅仅是“DLL”在技术上可能是正确的,但在我工作的地方,每个人都认为“DLL”意味着COM,或者在推送.NET上,所以我需要一个术语来准确区分我的意思。a.DLL?所有其他的

在Windows世界中,一个好的名称的正确名称是什么。具有输出功能的老式C++ DLL?不是COM DLL,也不是.NET DLL。我们通过调用LoadLibrary()和GetProcAddress()调用的DLL类型

我一直称它们为“平面DLL”,因为调用方无法从DLL实例化对象,但正确的名称是什么

编辑

谢谢你的回答


仅仅是“DLL”在技术上可能是正确的,但在我工作的地方,每个人都认为“DLL”意味着COM,或者在推送.NET上,所以我需要一个术语来准确区分我的意思。

a.DLL?所有其他的事情都使用.dll提供的基本功能来完成它们各自的事情。如果你想学究的话,可能是一个原始的.dll,但是.dll应该可以。

我一直称它们为dll,但我没有在C++/VB6世界呆太久。

可能是一个“常规dll”。这是我们使用的术语,但“DLL”也可以使用。

没有“正确”的名称,只有“普通车”有一个“正确”的名称。(我确实使用“普通DLL”

COM DLL、OCXs、.NET DLL……它们都是DLL,具有附加功能。没有什么可以阻止您,比如说,拥有一个可以通过COM或手动LoadLibrary/GetProcAddress访问的DLL。我看到了。您甚至可以通过“普通”非对象化API公开同一对象。

不过,“本机”可能是最常用的术语“windows”或“console”在技术上更为正确,因为它们是可能使用的子系统(“本机”子系统有所不同)。我还听说使用了“C DLL”,这意味着与您使用的“平面DLL”相同

动态链接库是一个通用概念,“Windows动态链接库”与*nix的等效库以及托管库有所不同


COM在这种情况下只不过是一种封装约定——Windows DLL可以包含COM服务器,可移植可执行文件(PE)也可以包含COM服务器。

我支持Charles Graham。它们只是DLL。不多也不少


一些DLL公开允许它们与某些编程模式一起使用的API(例如,公开DllGetClassObject和DllCanUnloadNow的DLL可用于托管COM对象(但也有其他托管COM对象的方式))。

它是一个“动态链接库”。有时称为“动态链接库”。与静态链接库”,您可以在其中选择自己的毒药。取而代之的是用户在执行路径的某个位置随机安装的毒药。我同意需要术语来描述不能作为托管代码执行的DLL(换句话说,托管代码需要互操作)这不能用作COM对象。很多时候,开发人员只说DLL,这是不明确的。是的,将.Net类库称为DLL和将COM进程内服务器称为DLL是完全有效的,但出于通信目的,只说DLL是不明确的


更多信息,请参阅我的文章。

这是一种很好的表达方式!