0

VSまたはCRTがインストールされていないOSで実行されているC++プログラムのデバッグバージョンがある場合でも、デバッグアサーションエラーボックスが表示されますか?

「DebugAssertFailed!」と表示されているもの。

または、マシンにCRTやVisual Studioなどの特定のコンポーネントがインストールされている場合にのみ取得しますか?

4

2 に答える 2

2

これは、アプリケーションをどのように構築したかによって異なります。デバッグCRTに動的にリンクしている場合、開発者でない限り、ユーザーがシステムにデバッグCRTを持っている可能性はほとんどありません(実際、VSのライセンスのために配布できません)。したがって、この場合は実行されません。CRTに静的にリンクする場合、デバッグビルドを出荷した場合は、ユーザーにアサートが表示されます。

于 2010-07-15T16:12:06.660 に答える
1

あなたがそれを実行させることができれば、はい。/ MDd(デフォルト)を使用してコンパイルするには、動的CRTのデバッグバージョンを配布する必要があります。これは再配布可能なコンポーネントではありません。とにかく出荷することはライセンス違反です。/MTdでコンパイルすることで回避できます。

もちろん、ユーザーは「デバッグアサーションが失敗した」とはどういう意味かわからず、無視が機能しない理由を理解できません。避けるのが最善です。

于 2010-07-15T16:24:25.040 に答える