これは起こりえますか?3 つのアサート。アクティブ化する必要があります。
int nr = perform_calc();
assert( nr == 0);
assert( nr > 0);
assert( nr < 0);
プログラムが g++ 3.4.4 でアサートを有効にしない場合がありますか。
いいえ、アサートがアクティブにならない場合に番号を出力するためにコードを変更する可能性はありません。
何か案は?
編集:いくつかのコメントを読んだ後、私は編集を余儀なくされました。コードを表示しますか?なぜあなたはこの愚かなことをしているのですか?信じられない!どこで使用されますか?私の質問から、考えられる理由がいくつかあるため、コードを投稿/変更しないことは明らかでした。
- 私は完全な初心者であり、コードを恥じています (そこに犯罪はありません。投稿した場合、質問への回答がはるかに簡単になります)
- ほんの少しの情報で友人を助けるように頼まれました (そして、返された番号を確認できない理由や、単にブレークポイントを追加できない理由を彼に尋ねませんでした)。
- 私はコンパイラを使用せずにemacsでコードを書いており、それをコンパイルして実行し、何か問題が発生した場合にのみ失敗したアサートを返すことができるリモートサーバーに送信しています。
私がいたずらやデマを作っていると信じているなら、代わりにスレッドの閉鎖に投票するべきでした. 私はそれで完全に大丈夫だったでしょう。しかし、このような不要なコメントを追加すると、「態度」フラグを実装したくなるだけでした。
実際に私の質問を説明しようとし、答えてくれたコメントと回答に対して、他の人に感謝したいと思います。