1

-Wl,-whole-libraryフラグがサポートされていない環境 (emscripten)でコンパイルしようとしています。エクスポートされたシンボルをコンパイラに強制的に含めるにはどうすればよいですか? ソリューションは、次のプロパティをできるだけ多く満たす必要があります。

  • 単一のライブラリに適用できます (他のライブラリの未使用のシンボルを含めたくありません)
  • 自動的に生成される可能性があります (たとえば、エクスポートされたシンボル テーブルを nm で取得しますか?)
  • 関数とメンバー関数で動作します

次のようなファイルを計算することを考えました:

int x = (int)(&func_a)+(int)(&func_b)+...;

ただし、int にキャストできない (そして非公開にすることができる) メンバー関数では機能しません。

何か考えはありますか?

4

1 に答える 1