问题
GCC、MSVC 或 Clang 或某些组合是否支持将链接设置为默认为 C?
背景
我有一个大型混合 C/C++ 项目,虽然使用 C 链接导出 C++ 源中的符号很容易且合乎逻辑,但这些相同的源假设项目其余部分中的东西在 C++ 链接下。
目前的情况要求我明确地包装 C 源代码中定义的 C 源代码使用的任何内容,以及 C++ 源代码使用的 C 源代码中的所有内容extern "C++"
。
最重要的是,我不能放置extern "C"
整个源文件或头文件,因为实际的 C++ 内容会抱怨。(例如#include <memory>
我定义的 from 或 templates。)