1. ホーム
  2. c++

[解決済み] SwiftとC++を混ぜることはできますか?Objective-Cの.mmファイルのように

2022-06-16 15:39:32

質問

.mファイルを.mmに変更し、C++を使用するようにしました。Swift で同じことをする方法はありますか?

どのように解決するのですか?

いいえ。.m から .mm に切り替えると、実際には Objective-C から Objective-C++ という別の言語 (多くの微妙な違いがある) に切り替わります。つまり、実際には C++ を使用しているのではなく、ほとんどの C++ を入力として受け入れる Objective-C++ を使用しているのです (C++ がほとんどの C を入力として受け入れるのと同じように、すべての C を入力として受け入れるわけではありませんが)。C++がほとんどのCを入力として受け入れるのと同じように)。 nil (という名前の変数を含む C++ ファイルを考え、それを Objective-C++ としてコンパイルしようとします。

Swiftは同じような関係ではありません。それはCまたはC++のスーパーセットではなく、あなたは直接、どちらかを .swift ファイルの中で直接使用することはできません。

"CocoaとObjective-CでSwiftを使用する" も教えてくれています。

C++のコードをSwiftに直接インポートすることはできません。代わりに、C++のコードのためのObjective-CまたはCのラッパーを作成します。