4

gccプリプロセッサにtypeをtypedefで定義されたものに置き換える方法はありますか?

このようなもの:

typedef unsigned char Uint8

int main(void)
{
    Uint8 a = 1;
    Uint8 b = 2;
    Uint8 c;

    c = a + b;

    return 0;
}

次のようなものに前処理されます:

int main(void)
{
    unsigned char a = 1;
    unsigned char b = 2;
    unsigned char c;

    c = a + b;

    return 0;
}
4

1 に答える 1

2

いいえ、ありません。タイプエイリアシングはコンパイル段階の一部であり、前処理段階ではないためです。したがって、プリプロセッサは設計上タイプについて何も知ることができず、それらのタイプに対して操作を実行することはできません。;また、 typedefステートメントの最後に置くのを忘れました。

于 2012-10-21T03:21:09.683 に答える