【问题标题】:Difference Between: Native DLL, UWP DLLs and C++/CLI DLLs区别:本机 DLL、UWP DLL 和 C++/CLI DLL
【发布时间】:2019-10-04 19:37:02
【问题描述】:

我非常了解什么是普通的 Win32 本机 DLL(没有 UWP、没有 RT、没有 CLR)。我还知道基于 C++/CLI 的 DLL,它支持以任何语言编写的 .NET 兼容程序。

让我困惑的是这两种 UWP DLL 类型:

  • 通用 Windows - C++/CX
  • 通用 Windows - Windows 运行时组件

创建基于 UWP 组件的 DLL 时,它会添加(允许)导出类(部分问题是:它们是 CLR 投诉类吗?)。 Dependency Walker 显示它链接到一些非标准/非原生 DLL。

创建基于 UWP CX 的 DLL 时,它只是一个本机 DLL。 Dependency Walker 显示它链接到 Kernel32.DLL 等。

由此得出结论:

  • C++/CX 是一个 UWP DLL,类似于原生 DLL
  • 运行时组件 UWP DLL 类似于 C++/CLI 类型的 DLL。

那么这两种新型 UWP DLL 到底是什么?

【问题讨论】:

标签: c++ visual-c++ dll uwp windows-runtime


【解决方案1】:

它们都是本机代码。 C++/CX 与 C++/CLI 共享一些语法,但它与 .NET 没有任何联系。 Windows 运行时组件是可重用的组件,可以从其他应用程序以任何受支持的语言(C++、C#、VB、JavaScript)调用。另一个项目只是一个独立的应用程序。

请注意,CLR 依赖项仅存在于调试版本中(由于某些 XAML 调试依赖项);在 Release 版本中没有 CLR 依赖项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    • 2012-12-18
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多