2

Objective-C と C++ は C の共通基盤を共有しているため、Objective-C++ が存在できることは知っています。しかし、Objective-C は Python とどのように共存できるでしょうか? wxPython は Cocoa を使用してインターフェイスを描画するため、それが可能であることはわかっています。

OS X 用のカード ゲーム エンジンを作成しています。複数のゲーム (クロンダイク、スパイダー、フリー セル、さらにはハーツやポーカー) をプレイできるようになります。Game Center で動作する予定なので、Cocoa フレームワークを使用できるようにする必要がありますが、Python API を作成して、ゲーム自体を Python で作成できるようにしたいと考えています (使いやすく、より動的であるため)。この種の言語ブレンドを自分のアプリケーションに実装するにはどうすればよいでしょうか?

4

2 に答える 2

2

Python アプリケーションがコンパイル済みの外部ライブラリを使用している場合、これはPython を拡張しています。それを行うためのドキュメントはhereです。

コンパイルされたアプリケーションがスクリプトに Python を使用している場合、これはPython の埋め込みです。それを行うためのドキュメントはhereです。

于 2012-08-08T23:34:02.743 に答える
1

私はココアの専門家ではありませんが、使用感を誤解されていると思います。Cocoaは、いくつかの関数をエクスポートする単なるライブラリです。関数のシグネチャを理解できるものなら何でも使用できます。それは、Objective-Cと互換性がなければならないという意味ではありません。これは、呼び出し規約を理解できる必要があることを意味します。

ただし、Pythonは標準CとObjCランタイムの両方で実行できると確信しています(IIRCは前者の拡張であるため)。そのため、Python用のCocoaバインディングを作成できない理由がわかりません。Appleのようですそれをサポートするためにhttps://developer.apple.com/technologies/mac/cocoa.html

Objective-Cの動的ランタイムは多くの最新のスクリプト言語に似ており、 CocoaBridgeを使用してCocoaの機能を他の言語に簡単にマッピングできます。Cocoa Bridgeを使用すると、開発者はAppleScript、Ruby、およびPythonを使用してファーストクラスのMacOSXアプリケーションを作成できます。

したがって、次に確認するキーワードは、Cocoa Bridge であり、https ://developer.apple.com/cocoa/pyobjc.htmlでもありますか?

于 2012-08-08T23:38:17.937 に答える