C++アプリケーションAPIを他の言語との相互運用を簡単にする共通のアプローチはありますか?おそらく、他のプラットフォーム(.NET、Pythonなど)のためのマーシャリングコードとともにC++インターフェイスを生成するために、より高いレベルのインターフェイス記述言語を使用するようなものでしょうか?他の言語とのC++ interop
答えて
SOAP/WebServices/Corba?
あなたはそれよりも緊密に(つまりリンカーが)結合しているように思えますが。
いくつかのオプションがあります。
.netと相互運用する場合は、C++/CLIラッパークラスを作成できます。これにより、.netから直接参照可能なC++クラスを記述することができ、実装ではネイティブC++を使用できます。
歴史的には、COMもこの目的で使用されていましたが、今日ではそれほど普及していません。
SWIGというライブラリもあり、Javaや他の言語と相互運用します。
編集:それは別の可能性は(その実装はC++であっても)extern "C"
すべてのあなたの公表APIを作るかもしれないWinRT components
ボイラープレートコード(C++やCLIラッパーなど)を書かずに、私の質問は自動的にできます。私は実際に質問でSWIGについて言及することをためらった。 SWIGは、C++のインタフェース - > APIのように、別の方法のように見えます。 –
@ 7vies:私たちは現在C++/CLIを行っていますが、これをより合理化する方法を見つけていません。多くの場合、C++/CLIクラスを単一のcppファイルに書き込むことができます。すべてのメソッドがインライン化されているため、メンテナンスの面倒がいくらか軽減されます。マイクロソフトが新しいWinRT API用のネイティブコードを書くことを促進するように、Windows 8の開発ツールでは状況が改善する可能性があります。 http://pwlodek.blogspot.com/2011/09/build-your-first-winrt-component.html –
でWindows 8に容易になりますように見えます。
- 1. atoi()他の言語と
- 2. ヘブライ語と他の言語のSQL
- 3. C言語でinteropオブジェクトを正しくクリーンアップする方法
- 4. 他の言語のjsFiddle?
- 5. 他の言語のMFMailComposeViewController?
- 6. デストラクタとC言語のコンストラクタ
- 7. C言語とHaskell
- 8. 他の言語のPEAR代替語
- 9. asp:ValidationSummary他の言語のメッセージ(ヘブライ語)
- 10. 他の言語のためのC++でのライブラリの作成
- 11. 英語とその他の言語用のASP.NET動的ローカライゼーション
- 12. Javaスクリプトアラビア語とその他の言語への変換
- 13. C#(または他の言語)でのクラスの名前付け
- 14. C言語のメモリデバッガ
- 15. C#の - DOT言語
- 16. C言語のイテレータ
- 17. C++言語のリファレンス
- 18. ゲームボーイC言語のプログラミングC
- 19. C#の - 他の言語と異なるゲッター/セッターは、Javaゲッターとセッターで
- 20. C言語で他のマシンのスクリプトを実行する
- 21. Cアプリケーションで他の言語のライブラリを含める
- 22. スクリプト言語を他の言語に翻訳できますか?
- 23. 他の言語に言語機能を統合する
- 24. C#linqと多言語データベース
- 25. NGINXモジュール(LuaとC言語)
- 26. C++:C言語リンケージ
- 27. PythonとC言語の間のIPC
- 28. JavaとC言語の速度の差
- 29. 他の言語ページへのLiferayのリンク
- 30. 他の言語のipythonバックエンドの例?
あなたは正しいです、私は軽いものを探しています。例えばウェブ技術を使用してアプリケーションのプラグインは過剰なものになるでしょう。 –