【问题标题】:Can Catch2 be used with C language?Catch2 可以和 C 语言一起使用吗?
【发布时间】:2021-08-24 19:08:40
【问题描述】:

我正在编写一个支持与 C 和 C++ 语言应用程序接口的 dll。 dll 本身是用 C++ 编写的,所以问题是我可以使用 Catch2 框架对 C 和 C++ 应用程序进行单元测试吗?

我需要注意什么?是否有任何人可以建议的替代方案?

【问题讨论】:

    标签: c++ c unit-testing catch2


    【解决方案1】:

    测试必须用 C++ 编写。

    要测试一个函数,您只需要能够调用它。因此,这个问题相当于“C 函数可以从 C++ 中调用吗?”。

    在大多数情况下,答案是肯定的。有一个“语言链接”功能就是为了这个目的。有一些 C 不兼容的例外情况,例如名称是 C++ 关键字(如 delete)的函数。要调用这样的函数,您需要用 C 编写一个具有兼容名称的包装器函数,并从用 C++ 编写的测试中调用该包装器。

    【讨论】:

      猜你喜欢
      • 2021-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-18
      • 2011-06-14
      相关资源
      最近更新 更多