문제

Porting some legacy C code from QNX (Photon C compiler) to Linux (GCC). In several places I see code like this:

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

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

    ...
}

Obviously this code is NOT required for compilation and it does nothing.

My question is why would you ever do this in the first place?

도움이 되었습니까?

해결책

This removes compilation warnings/errors about unreferenced variables. Usually such stuff is done either by #pragmas or by a more expressive form, such as macro: #define unused_var(x) (x)=(x)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top