c-preprocessor

    1

    1答えて

    をターゲットにコンテキストGCCプリプロセッサマクロの値を呼び出す伝播するのは、私がb.cでf.cとbar嘘でfoo嘘、つまりはb.hがf.cに含まれている foo() { bar(); } があるとしましょう。 bar() { printf ("Called from line %d in file %s",?,?); /* Run as usual */

    0

    1答えて

    ルーティングレイヤ用にいくつかのマクロを作成しようとしています。ルータは別のモジュールから関数を呼び出すことができます。ルーティングはチャネルに基づいています。 RouterInit(CH0,param); :私はこれを行うotの欲しい #define GetModule(channel) (channel##_Module) #define RouterInit(channel,param

    1

    1答えて

    私のコードでいくつかのgcc診断をプッシュ/ポップする必要があります。それが1つのファイルに必要だった場合、私は次のようにします: #pragma GCC diagnostic push #pragma GCC diagnostic error "-Wformat" #pragma GCC diagnostic error "-Wuninitialized" ...some code...

    4

    1答えて

    対応するエラーメッセージにマップする必要があるエラーコード(0,1,10,11,20,30,40、...)があります。エラーコードは、配列内のインデントとして便利に使うことができないので(疎で無駄になります)、これはマクロやenumで何らかの形で達成できると考えています。 私は基本的に関数const char *my_strerror(int errorcode)を作成しようとしています。 con

    -1

    1答えて

    あるトークン、 で別のマクロ作品というトークンを連結が、トークンがマクロであるとき、それはしていないようです作業? longNameForaFunction_one(){return 1;} longNameForaFunction_two(){return 2;} longNameForaFunction_third(){return 3;} two(){return 2;} #defi

    16

    3答えて

    C++ 20では、引数の数がゼロより大きい場合、可変プロセッサマクロ内のトークンをオプションで展開する方法として、プリプロセッサが__VA_OPT__をサポートしています。 (これにより、移植性が低く、醜いハッキングである##__VA_ARGS__ GCC拡張が不要になります。) Clang SVNはこの機能を実装していますが、機能テストマクロを追加していません。賢明なプリプロセッサのハッカーは、

    0

    1答えて

    私は複雑なC構造のDATABSECONTEXTを持っています。 開発者は、この構造に異なるフィールドを追加し続けます。私たちは見直しして受け入れます。しかし時には同期の欠如があります。 複雑なルーチンfunction1()があり、異なるフィールドにアクセスして処理する必要があります。したがって、もしfunction1()で気にかけられていなければ、構造体に新たに追加されたフィールドがあれば、それは

    1

    2答えて

    コードによって設定されていない:fonctionはfile.cとであること #define MIN 0.00001 #define MAX 1 #define MAXP 10000 double func_log(double x) { double r=RPWN; printf(" MAXP = %e \n",MAXP); printf(" MIN = %e \n",M

    2

    3答えて

    幾何学ベースのコードで作業しています。現在の課題には、固体試料を収容するためのバウンディングボックスの使用が含まれる。さて、コードでは、私はそのようなボックスの2つの異なるタイプ、すなわちINNER_BOUNDING_BOXとOUTER_BOUNDING_BOXを考案しました。このコードでは、2つのボックスのいずれか1つの使用を想定していますが、両方を使用することはありません。私はプリプロセッサの

    2

    1答えて

    私のプロジェクトのコンパイル速度は、多くのマクロを使用した単体テスト(多分、ブーストテストライブラリを使用している)のために遅いです。 gcc -ftime-reportから、前処理時間のコストが高いことが示されます。このために速度を最適化する方法はありますか?