C と C++ の違いを理解していないかもしれませんが、いつ、なぜ使用する必要があるのでしょうか。
extern "C" {
? どうやらそれは「リンケージ規約」です。
私はそれについて簡単に読んで、MSVS に含まれるすべての .h ヘッダー ファイルがコードを囲んでいることに気付きました。「C++コード」ではなく「Cコード」とは正確にはどのタイプのコードですか? C++ にはすべての C コードが含まれていると思いましたか?
これは事実ではなく、C++ は異なり、標準機能/関数はどちらか一方に存在するが両方には存在しない (つまり、printf は C で cout は C++) と推測していますが、C++ は後方互換性がありますが、 extern "C" 宣言。これは正しいです?
私の次の質問は最初の回答によって異なりますが、とにかくここで質問します: C で記述された MSVS ヘッダー ファイルは extern "C" { ... } で囲まれているため、いつこれを使用する必要がありますか?あなた自身のコードであなた自身?コードが C コードであり、C++ コンパイラでコンパイルしようとしている場合、問題なく動作するはずです。なぜなら、含めるすべての標準 h ファイルには、C++ コンパイラで extern "C" が既に含まれているからです。
C++ でコンパイルするときにこれを使用する必要がありますが、既にビルドされている C ライブラリなどにリンクしますか?