私は最近gitを使い始めました。私は、アルゴリズムAを使用するプログラムとアルゴリズムBを使用するプログラムの2つの分岐を持っています。これらのアルゴリズムは、同じことを別々に行います。今、これらの2つのブランチのそれぞれについて、異なる種類のデータに対して実行する異なるプログラムのインスタンスを作成したい(これらは50までの異なるインスタンスにすることができます)。あなたが尋ねる前に、複雑さとパフォーマンスの問題のために、私はそれらをすべて同じプログラムに組み込むことができません。ちょっと違う使い方をした、同じプログラムのインスタンスのための独立したブランチまたは別のrepos
さらに可能であれば、コア(つまり、すべてのインスタンス間で共有されるソースの一部)とその変更で更新されるすべてのインスタンスを変更できます。
これを達成するにはどのような方法をお勧めしますか?
PS:私の質問はあまり明確ではないかもしれませんので、お気軽に追加情報をお尋ねください。
ねえ、私はあなたの考えが好きです。私はC言語で書いています。さまざまなプログラム用に異なるヘッダーファイルを作成しました。私の唯一の懸念は、私はこれらのヘッダファイルにインライン化できるように関数定義を置かなければならないのでちょっと混乱しているようです。 – Grieverheart
実際に何をしているのかわからなくても、私は1つのヘッダーファイルを作成し、達成しようとしている仕事に応じてリンクされる異なる.cファイルを持っています。これは、コンパイル時のブリッジ実装のためのものです。ランタイムブリッジの場合、実行時に切り替えられた実際の実装にコールを単に転送/委譲するだけの、汎用的なAPI実装が存在します。 –
はい、それは私の計画でしたが、 'inline'では、関数が使用されているのと同じ翻訳単位で定義されている必要があるため、ヘッダファイルで関数を定義しなければなりません。もちろん、 'inline'命令が提供するパフォーマンスの改善があれば、まだ確認していません! – Grieverheart