アーカイブ ファイルに C ライブラリがありますclib.a
。そのための C++ ラッパーを作成しました。cpp.o
これをスタティック ライブラリとして使用したいと考えています。
ar cTrvs cppwrap.a clib.a cpp.o
これにリンクするコードはclib.a
、正しいヘッダーが含まれていない限り、からのものを直接使用することはできません。しかし、誰かが偶然に適切なプロトタイプを作成した場合、たとえば、 のどの定義が適用される かvoid myCoincidentallyNamedGlobalFunction()
心配です。myCoincidentallyNamedGlobalFunction
からのシンボルは でclib.a
のみアクセスする必要があり、cpp.o
にリンクされてcppwrap.a
いるものではないため、衝突の可能性がないようにそれらを完全に非表示にする方法はありますか (したがって、clib ヘッダーを含めても失敗します)。