コンパイルされたリリース .exe ファイルのバイナリを見ると、クラス/構造体の名前を見つけることができます! これは奇妙です-これらのシンボルには明らかに必要はありません。私が懸念しているのは、そのようなシンボルがソフトウェアのリバース エンジニアリングに使用され、ソフトウェア ライセンス保護に大きなリスクをもたらす可能性があることです。
たとえば、テキスト .?AVCMySecureKeyManager (元のクラス名は CMySecureKeyManager、すべての名前にプレフィックス ".?AV" が追加されているように見えます) を見つけることができます。私のコードが何をしているのかを簡単に推測できますよね?..ハッカーのためのドア。
特に、Visual C++ コンパイラ/リンカー オプションで可能なすべての最適化を有効にし、すべての参照/デバッグ情報の生成をオフにしたことがわかります。おそらく何か不足していますか?