gpt4 book ai didi

c++ - 同时包含 C 和 C++ 文件的项目

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:09:10 24 4
gpt4 key购买 nike

我可以拥有一个部分用 c 编写而其他部分用 c++ 编写的项目吗?这可能吗?

最佳答案

是的。

如果您可以控制 C 代码,那么在您的 C 头文件中您应该拥有:

#ifdef __cplusplus
extern "C" {
#endif

// normal header stuff here

#ifdef __cplusplus
};
#endif

这样,当它们同时包含在 C 和 CPP 代码文件中时,它们可以被正确解释。

如果您通过 header 将 C 代码包含在您的 C++ 中,并且它不包含上面的代码,并且您没有足够的控制权来进行必要的修改,请务必使用例如

extern "C" {
#include "some_c_header.h"
};

请注意,您也可以将其用作声明的修饰符,例如:

extern "C" void someFunction();

请注意,C++ 具有这种导入 C 功能的机制。 C 没有用于导入 C++ 的工具,并且尝试在 C 编译单元中包含 C++ 代码将很快以一堆错误消息告终。这样做的一个后果是您的主要功能将需要是 C++。

关于c++ - 同时包含 C 和 C++ 文件的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3777824/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com