【发布时间】:2013-12-17 23:00:09
【问题描述】:
我正在与一个用 C++ 为我们开发库的承包商合作。我想知道是否可以在 C 程序中使用该库。 我使用 Gcc 作为我的编译器。
【问题讨论】:
-
您需要在
C++中编写一些包装器,使用extern "C"公开C接口。所以不,不是直接的,但是是的,有可能,以某种有限的方式。 -
@BoBTFish that + 用 g++ 编译 main
-
@BЈовић 什么,为什么?如果您只是链接到另一个库,该库公开了一个用
extern "C"声明的接口,为什么还要这样做? -
或者,升级到 C++ 作为您的主要语言。大多数 C 代码都可以正常工作,世界将变得更美好。
-
@BЈовић 是的,将 C++ 目标文件编译 到 C 程序中显然是有问题的。但是你可以链接到一个(动态的)C++ 库,只要它公开一个 C 接口