次のコマンドについて考えてみます。
g++ -Wl,--start-group main.o liba.a -Wl,--end-group -o a.out
a.outに、liba.aで定義されているが、main.oでは使用されていないシンボルがある可能性はありますか?はいの場合、どのような場合ですか?これを可能にするために、ソースコードを記述したり、コンパイラやリンカを呼び出したりする際のトリックはありますか?私の知る限り、これは起こらないはずですが、最近そのようなケースに遭遇しました。