m4マクロに問題があります。マクロは
define(BARRIER, `
#if defined USE_PTHREAD_BARRIERS
barrier_wait(&$1,$2,$3);
#elif defined (USE_CENTRALIZED_BARRIERS)
central_barrier(&$1,$2,$3);
#endif
')
そして私の.Cファイルに私は持っています
BARRIER(Global->start, P, MyNum)
ここでGlobal->start
、とP
はグローバル変数であり、MyNumはローカル変数です。
しかし、私が実行すると
m4 macrosfile.m4 sourcefile > outputfile
出力ファイルには次のようなものがあります。
#if defined USE_PTHREAD_BARRIERS
barrier_wait(&Global->start,P,);
#elif defined (USE_CENTRALIZED_BARRIERS)
central_barrier(&Global->start,P,);
私のマクロに何か問題がありますか、それとも単なる制限ですか?
前もって感謝します。