私は多くのアサーションを持つライブラリを書いています。アサートがオンになっているとライブラリは非常に遅くなり、ライブラリの要点は高速であるため、バグをテストまたは診断する場合にのみアサートが意味をなします。私はautoconfを使用していますが、ユーザーにこの問題について知ってもらい、アサートを無効にするように構成するフラグを渡すように要求するのが標準的な方法のようです。その場合、適切なバージョンのライブラリをインストールするのに十分な知識があるのは、エキスパートユーザーだけです。それは本当に私がすべきことであり、もしそうなら、それは単に「エキスパートユーザーや他のプログラマーが期待すること」を超えた正当な理由がありますか?
編集: これは、リリースモードでデフォルトでNDEBUGを定義するべきではないという議論の例ですが、それを行うのは驚くべきことであるため、他の理由はありません。