4

c / c ++では、次のようなことを行うことは可能ですか?

#define (_asm int 3;) (exit(1))

そのため、私のコードのどこでも、この行はコンパイル時に置き換えられます。私はこれが悪い習慣であることを知っていますが、それは可能です。

乾杯

4

2 に答える 2

10

グローバル検索を実行し、選択したプログラミングエディタ(またはIDE)に置き換えて、_asm int 3たとえばに変更してから、次のようなFOOマクロを定義できます。FOO

#if 1 // <<<- change this test to determine how `FOO` is expanded
  #define FOO _asm int 3
#else
  #define FOO exit(1)
#endif
于 2012-11-29T12:51:11.567 に答える
0

いいえ、これは有効なプリプロセッサシンボルではないため、機能しません。

もちろん、外部ツール(またはエディターの検索および置換機能)を使用することで、この置換を簡単に行うことができます。

于 2012-11-29T12:51:00.690 に答える