私はCでPythonクラスを書いていますが、デバッグコードにアサーションを入れたいと思っています。assert.h
私にぴったりです。これはデバッグコンパイルにのみ入れられるため、Pythonコード*のユーザーに影響を与えるアサートエラーの可能性はありません。
「ライブラリ」コード(Pythonに対してリンクされたコードとは別にする必要があります)を分割して、他のCコードから使用できるようにしようとしています。したがって、私のPythonメソッドは、純粋なCコードの薄いラッパーです。
したがって、「ライブラリ」コードではこれを行うことができません。
if (black == white)
{
PyErr_SetString(PyExc_RuntimeError, "Remap failed");
}
これは私の純粋なCコードをPythonで汚染するからです。また、単純なものよりもはるかに醜いです
assert(black != white);
Distutilsコンパイラは常にを設定すると思います。つまり、デバッグビルドでもNDEBUG
使用できません。assert.h
MacOSとLinux。
ヘルプ!
*Pythonから呼び出されたCコードでのアサートに対して私が聞いた1つの引数。