自分自身を改善するために、dllのCOMに準拠させようとしています。いくつかのインターフェイスを拡張/実装するだけでよいと思っていましたが、今は岐路に立っています。
1)MIDLを学ぶ必要がありますか?
2)ATLをインストールする必要がありますか(VC ++ Expressを実行しています)?
3)C ++チュートリアル(http://progtutorials.tripod.com/COM.htm)を読み続けて、Expressエディションが制限されすぎていることを望みますか?
自分自身を改善するために、dllのCOMに準拠させようとしています。いくつかのインターフェイスを拡張/実装するだけでよいと思っていましたが、今は岐路に立っています。
1)MIDLを学ぶ必要がありますか?
2)ATLをインストールする必要がありますか(VC ++ Expressを実行しています)?
3)C ++チュートリアル(http://progtutorials.tripod.com/COM.htm)を読み続けて、Expressエディションが制限されすぎていることを望みますか?
私はネイティブC++をAndroidとJavaに転送することに興味があり、ライブラリは静的な「C」スタイルの関数を公開するか、COMを実装する必要があることを読みました。
AndroidはLinuxベースのオペレーティングシステムです...DLLとCOMをサポートしていません。
したがって、COM経由で移動することはできません。JNIの使用方法を学ぶ必要があります。
1)はい。新しいインターフェースを定義する場合は、ほとんど定義する必要があります。MIDLなしで行うことは不可能ではありませんが、基本的なMIDLを学ぶよりもはるかに困難です。
2)はい、お願いします。ボイラープレートコードの多くを非表示にします(これは書くのが面倒で、エラーが発生しやすくなります)。
3)ドンボックスの本EssentialCOMをお勧めします。それは素晴らしいです。また、その本の素晴らしい仲間は、マーティン・ガッジンによるエッセンシャルIDLです。
VC++Expressに関しては-私はそれらを使ったことがありません。COMを使用することは可能だと思いますが、ツール/ライブラリのサポートは限られています。