1

QNX(Photon Cコンパイラ)からLinux(GCC)へのレガシーCコードの移植。いくつかの場所で、次のようなコードが表示されます。

void process_data(char key, char *data)
{
    int i;

    /* Required for compilation */
    i=i;
    key=key;
    data=data;

    ...
}

明らかに、このコードはコンパイルには必要なく、何もしません。

私の質問は、なぜあなたはそもそもこれをするのですか?

4

1 に答える 1

5

これにより、参照されていない変数に関するコンパイルの警告/エラーが削除されます。通常、このような処理は、#pragmasまたはマクロなどのより表現力のある形式のいずれかによって行われます。#define unused_var(x) (x)=(x)

于 2012-12-18T16:48:36.177 に答える