1

それらをコンパイルするために作成されたいくつかの .cpp ファイルを読み込んでおり、レベル 2 S-Function のために MATLAB で使用する mex ファイルを持っています。

私はこの命令が実際に何のためにあるのか知りたいです:

#define STRINGIFY(x) #x
#define TOSTRING(x) STRINGIFY(x) 

ご協力いただきありがとうございます。

4

1 に答える 1

2

たとえば、 assertsなどのマクロで役立ちます。アサートが失敗した場合、何かが失敗したことだけでなく、失敗したかを知りたい場合があります。次に、実際に成立しなかった条件に関する文字列を作成できます。次に、それを使用してエラー メッセージをコンソールに出力したり、例外オブジェクトの説明として使用したりできます。

編集: 同じことを行う2 つのマクロがあり、一方が他方を参照しているだけである理由についてもっと知りたい場合は、 Piotr S. がコメントで言及した質問で答えを見つけることができます。

于 2014-11-20T11:10:30.737 に答える