1

将一些遗留 C 代码从 QNX(Photon C 编译器)移植到 Linux (GCC)。在几个地方我看到这样的代码:

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 回答