Windows シェルと統合し、追加のコンテキスト メニューを追加するアプリを作成しています。そして、それを書くためにいくつかの言語を検討しています:
- MS .NET - このタイプのアプリにはマネージ コードを使用したくない
- win32asm - これが私の最初の選択です
- VC++/C++ - わからない
したがって、基本的にはアセンブリと C++ の間でトスです。私の選択を容易にする考えや考慮事項はありますか?
Windows シェルと統合し、追加のコンテキスト メニューを追加するアプリを作成しています。そして、それを書くためにいくつかの言語を検討しています:
したがって、基本的にはアセンブリと C++ の間でトスです。私の選択を容易にする考えや考慮事項はありますか?
シェル コンテキスト アプリケーションのフットプリントを小さくしたい。これにより、少なくとも現時点ではマネージ コードが除外されます。これは、win32asm に有利に働くかもしれませんが、C++ ライブラリは .NET ランタイムに比べてそれほど大きくはありません (最近では 1 MB 未満と言われていますが、それほど大きくはありません)。
シェル コンテキスト アプリケーションを安定させる必要があります。そうしないと、人々がそれらを追い出して Explorer.exe プロセスを保存するからです。これは win32asm に大きく反対します。アプリを維持することがわかっていて、優れたアセンブラー スキルを持っている場合は、win32asm が機能する可能性がありますが、私自身はそうはいきません。アセンブリ コーディングの複雑さを追加しなくても、COM インターフェイスを実装する必要があります。これは大きな頭痛の種です。
それ以上考えなくても、ATL をサポートする VC++ を選びますが、深刻な単体テストとリソースの漏洩に対する保護機能を備えています。しかし、C++ とテンプレートに慣れていない場合、これは困難な道のりになる可能性があります。プラス面としては、維持するソース コードのセットがはるかに少なくなり、他の人を助けたり引き継いだりするのがはるかに簡単になります。また、まだ関連性のある貴重なスキル セットを改善している可能性もあります。