私は楽しいために詩のライブラリを書いていますが、私は自分の仕事を工夫するのが難しいです。私は1つの静的ライブラリを持っており、 "静的プラグイン"システム(名前を許してください)を作りたいと思います。「プラグイン」スタティックライブラリの提案
だから、私は次の規則を尊重し静的ライブラリのシリーズを作成したいと思います:
- 各ライブラリは、1つのオブジェクト(クラス、または何が必要とされている) が含まれています
- クラスは、各配列の項目が配列である
- 1つの配列が含まれている必要があり
unsigned char
本質的には、この作業では、詩のリストを提供する一連のライブラリを作成したいと考えています。したがって、各図書館には1人の著者の詩が含まれています。
ここで私が必要とする部分は次のとおりです。ライブラリユーザは、必要な静的プラグインとメインライブラリをリンクするだけです。これにより、ユーザは、この単純な例のように、コンソールで詩のリポジトリ全体を印刷することができる:
#include "poems.hpp"
int main(int argc, const char * argv[])
{
poems p;
p.dump(">>> Dumping poems");
return 0;
}
すべてのプロセスがリンク時に処理される
$ clang++ a.cpp libpoems.a libplugin_coleridge.a
$ ./a.out
>>> Dumping poems
The Rime of the Ancient Mariner
It is an ancient Mariner,
And he stoppeth one of three.
[...]
Kubla Khan
In Xanadu did Kubla Khan
A stately pleasure-dome decree:
[...]
または代替的に
$ clang++ a.cpp libpoems.a libplugin_shelley.a
$ ./a.out
>>> Dumping poems
Ozymandias
O wild West Wind, thou breath of Autumn's being,
Thou, from whose unseen presence the leaves dead
[...]
Ode To The West Wind
O wild West Wind, thou breath of Autumn's being,
Thou, from whose unseen presence the leaves dead
[...]
poem.hpp
に、外部オブジェクトやそれに類するものの呼び出しを含むクラスなどを作成することができます。
ヒントは歓迎します。
だから、ダンプを行うライブラリに、ライブラリごとに同じ名前を付け、リンカによって解決される関数を置くことになります。それでは、ここでの質問は何ですか? –
関数だけでなく、ダンプに必要なすべてのデータ、またはそれが価値あるものであれば、他の関数(例えば、詩の検索)も可能です。 – senseiwa