.libと.dllの両方として作成されたライブラリがあります(Windows プラットフォーム用に完全に C++ で記述された大きなライブラリです)。ユーザーは、自分のプログラムやライブラリ、または使用したいものでライブラリを使用できます。
しかし、一部の機能を一部のユーザーに制限したいと考えています。
たとえば、
- 私たちのライブラリには、 と の 3 つの関数
foo()
がbar()
ありhoo()
ます。 - ユーザーA
foo()
は、bar()
およびの機能に対して料金を支払いhoo()
ます。 - ユーザーB
bar()
は機能との料金を支払いhoo()
ます。
したがって、Bにライブラリ ファイル (headers/libs/dlls など) を渡すと、
- ライブラリのコピーを作成し、foo() 関数とそれに関連するものを削除して、Bに送信できます。
または、ライブラリ全体を彼に送信して、彼が
foo()
.- 1 番目の方法は、作業が膨大で、依存関係に注意する必要があるため、良くありません。
bar()
とhoo()
が に依存していないことが確実にわかっていても、foo()
何かを削除して、より多くのテストを含む lib のカスタマイズされたバージョンを提供するのは頭痛の種です。そして、メンテナンスはさらに問題になります。また、SVN もカオスになります。 - 2番目の方法は、私が推測する最良の方法です。しかし、それを行う方法は?
- 1 番目の方法は、作業が膨大で、依存関係に注意する必要があるため、良くありません。
そして、Bfoo()
が後で関数の料金を支払ったらどうなるでしょうか? それなら私は彼にそれを使わせなければならないでしょう。
これで問題が理解できたと思います。2 つの方法は単なる私の意見であり、それらに関する私の結論も間違っている可能性があります。そこで、この件についてアイデアや提案があるかどうか尋ねています。