私は機能を持っています:foo()
の前にデバッグを追加するために、(私が推測するシム)#define
の「前に」置くa を書きたいです。したがって、これは次のようになります。foo()
foo()
#define
#define foo(dev) { \
printk("%s: get %lx\n", (dev)->name); \
foo_orig(dev); \
}
そして、名前を に変更foo()
しfoo_orig()
ます。
foo()
関数が次のように「分離」で呼び出された場合、これは正常に機能します。
foo(dev);
しかし、それが内で呼び出された場合、if()
それはコンパイルの問題です...
if (something() && foo(dev)) {
..
問題を説明しましたか?これに対する解決策はありますか?
問題は、コードが .xml ではなく呼び出し元の関数に存在する必要があるため、定義としてシムが本当に必要であることですfoo()
。[この理由は、デバッグの理由で呼び出し元の関数の EIP をダンプする必要があるためです (つまり、誰が呼び出しているかを知る必要がありますfoo()
]。