所以,我被要求在 AIX7(64 位)机器上编译一些遗留的 C 代码。
而且,我只是更改了生成文件以编辑使用的编译器(从 gcc 到 xlc_r),以及从(-DAIX3 到 -DAIX7)的标志。
但是,由于这个愚蠢的行为,我收到了一个抱怨的错误
xlc_r -c -q64 -O -DAIX -DAIX7 log.c
"log.c", line 128.7: 1506-343 (S) Redeclaration of log_write differs from previous declaration on line 140 of "lib.h".
"log.c", line 128.7: 1506-378 (I) Prototype for function log_write cannot contain "..." when mixed with a nonprototype declaration.
"log.c", line 165.7: 1506-343 (S) Redeclaration of log_errno differs from previous declaration on line 141 of "lib.h".
"log.c", line 165.7: 1506-378 (I) Prototype for function log_errno cannot contain "..." when mixed with a nonprototype declaration.
make: 1254-004 The error code from the last command is 1.
方法是问题看起来像
extern void log_write _PROTO(( int, char *, ... ));
extern void log_errno _PROTO(( int, char *, ... ));
我想知道 ... 是什么,它是否构成一个开放的参数列表?我如何让它在 AIX7 上运行?