私が理解しているように、main()
呼び出し前に作成したグローバル変数(クラス)がいくつかあります。グローバルなもののリストにデータを追加するか、コードの任意の部分からそのクラスのメンバーとしてデータを追加するための何らかの手法が必要であり、リンカーの前にデータを入力する必要があります。グローバルに作成されたクラス内で使用します。出来ますか?同様の解決策や質問すら見つかりませんでしたので、助けていただければ幸いです。
詳細な例:
コンストラクターに入力された変数を持つシングルトンクラスがあります。他のすべてのクラスは、実行時にクラスのデータを使用します。シングルトンクラスは、main関数の先頭に作成されます。私はさまざまなプロジェクトでシングルトンを使用しています。このデータは、このモジュールの要件を示す必要がある特別なフラグを除いて、すべてのプロジェクトとモジュールでほぼ普遍的です。シングルトンスロー例外プログラムが終了し、シングルトンがメインの最初の行で作成するため、実行の最初のステップでそれがわかっている場合。したがって、シングルトンにはすべてのプロジェクトのユニバーサルデータがたくさんありますが、各モジュールに必要なデータをシングルトンにポイントするフラグを追加する必要があります。mainのテンプレートを作成したので、プロジェクトごとに同じmainを使用し、後でPROJECT_NAMEを定義するだけです。
この説明は完璧に見えません。理解できない場合は、遠慮なく言ってください。もっと慎重に整理します。
編集:
私はまだインターネットで解決策を探していて、constexprが必要なもののように見えることがわかりましたが、現時点ではすべてのコンパイラでサポートされているわけではありません。回避策はありますか?