javaなどの言語では、パッケージ名はcom.foobar.mystuffのようなドメイン名です。動的ライブラリまたは静的ライブラリの名前空間が既に使用されているかどうかを知る方法はありますか?
com.foobarを所有している場合、誰かがcom.foobarというパッケージ名を使用している可能性は非常に低く、衝突がないことは合理的に確信できます。
しかし、C++では、任意の名前空間名を選択できます。リンクしているライブラリが特定の名前空間名を使用していないかどうかをどのように知っていますか?ソースコードやドキュメントにアクセスできない場合は、特にテストする方法はありますか?この問題を避けるためのガイドラインはありますか?
ええと、C++はどんな種類のリフレクションもサポートしていません。 –
オプション1:ヘッダーファイルを見て、オプション2:コンパイラABIについて学び、 'strings'や他のツールを使ってすべてのシンボルを表示し、そのシンボルを逆マングルする。 – Danh
@πάνταῥεῖだから、クラッシュ? (エイリアスを使用するので、後で名前空間を変更するのは簡単です) –