也许我不理解C和C++之间的差异,但我们何时以及为什么需要使用
extern "C" {
Run Code Online (Sandbox Code Playgroud)
?显然它是一个"联系会议".
我简单地阅读了它,并注意到MSVS附带的所有.h头文件都包含它们的代码.什么类型的代码到底是"C代码"而不是"C++代码"?我以为C++包含了所有的C代码?
我猜这不是这种情况,C++是不同的,标准特性/功能存在于一个或另一个中,但不是两个(即:printf是C和cout是C++),但是C++是向后兼容的,尽管外部"C"声明.它是否正确?
我的下一个问题取决于第一个问题的答案,但无论如何我会在这里问:由于用C语言编写的MSVS头文件被extern"C"{...}包围,你什么时候需要使用它你自己的代码?如果您的代码是C代码并且您正在尝试在C++编译器中编译它,那么它是否应该没有问题,因为您包含的所有标准h文件在C++编译器中已经有了外部"C"的东西?
在C++中编译但是链接到已经构建的C库或其他东西时,你是否必须使用它?
我是一个编码新手,但我真的想学习如何进行多线程和事件处理.
有没有人知道任何好的教程,或者他们能简单地向我解释一下吗?