代码之家  ›  专栏  ›  技术社区  ›  asawilliams

C++语言中的C++ API

  •  3
  • asawilliams  · 技术社区  · 15 年前

    我想使用一个用C++编写的API。它包括头文件和库。如何在C应用程序中使用此API?

    2 回复  |  直到 15 年前
        1
  •  5
  •   Rob Walker    15 年前

    最简单的方法是在 C++/CLI . 这使您可以将非托管接口和托管代码混合在一起,以便可以将非托管API“转换”为可在托管代码中使用的API。

    有很多资源,请参阅 C++/CLI Rationale 为了讨论互操作问题,请尝试在 .NET to C++ Bridge .

        2
  •  2
  •   Community paulsm4    7 年前

    有几个选择可以做到这一点。

    最容易的,因为 Rob Walker mentioned 是使用C++/CLI来创建一个托管包装器。

    但是,还有其他选择。

    1. 你可以使用 SWIG 为C++ API生成C语言包装器。这是一个相当不错的选择,但更难选择。(如果您还希望为C++的API编写其他语言包装,那是很好的,因为您可以用一组API来完成C.*./.NET、Python、Java等)。

    2. 你可以使用 Platform Invoke (P/Invoke) 访问C++编写的DLL。如果您的C++ DLL有一个C API,那么这将是非常容易的,但在其他方面也是可能的。