从 .NET语言中访问C++组件
管理扩展允许你从任何.NET语言中调用C++类。你需要用扩展编写简单的封装器,它将你的C++类和方法暴露为管理类。封装器是完全的管理类,可以从任何.NET语言中调用。封装器类是作为了管理类与非管理C++类间的映射层。它简单地将方法调用直接传递到非管理类中。管理扩展可用于调用任何内置的动态链接库(DLL)及内置类。
从内置代码中访问.NET 类
使用管理扩展,你可以创建并从C++代码中直接调用.NET类。你可以编写将.NET组件当作任何其它管理C++类的C++代码。你可以使用.NET Framework中内置的COM调用.NET类。你使用COM还是使用管理扩展访问.NET组件要依赖于你的工程。在一些情况下,利用现有的COM支持是最好的选择。在另一些情况下,使用管理扩展可能会增加性能和开发者的生产率。
在同一可执行文件中的管理和内置代码
Visual C++编译器能在管理和非管理上下文中自动而透明的翻译数据、指针和指令流。这个过程是允许管理扩展无缝地与非管理代码交互的过程。开发人员能够控制什么样的数据和代码可以管理。选择每个类或函数是管理还是非管理的能力为开发人员提供了更大的灵活性。一些代码或数据类型在非管理环境中执行得要比较好。另一方面,管理代码由于如碎片收集和类库等特性,它提高了开发人员的生产率。现有非管理代码可以一次一部分地转化为管理代码,因此保留了已有的投资。
[责任编辑:editorforddvip]
相关链接
本栏更新