A linguagem C ++ permite a mistura de C ++ e C em um arquivo de origem. Por exemplo,
extern "C" {
struct bar { /* ... */ }
}
O C ++ ou já suportou outras "linguagens de ligação" que não o C? por exemplo extern "Pascal"
ouextern "Haskell"
extern "C"
afeta apenas a ligação, não a sintaxe e a semântica do texto dentro do bloco. Em outras palavras, ainda é C ++ dentro desse extern "C"
bloco; os nomes dos símbolos não são mutilados. Veja stackoverflow.com/q/1041866/712605
extern "C"
equivalente a interagir uns com os outros