给定:
将库从 unix (COMPAQ Tru 64)DEC ALPHA 移植到 w32 XP sp3 OS。语言:使用 c89 编译器构建的 unix 平台上的 C 代码,带有选项:c89 -c -O -DLOWER_U -DSOLARIS sychld.c
仅使用带有 /c(仅编译)选项的 MS Visual Studio 2010 C 编译器
问题:
出现错误 wait.h(79):C2061 语法错误标识符“等待”代码:
77:#ifndef _BSD /* POSIX definition of wait() */
78:#ifdef _NO_PROTO
79:extern pid_t wait();
80:#else
81:_BEGIN_CPLUSPLUS
82:extern pid_t wait(int *);
83:_END_CPLUSPLUS
84:#endif /* _NO_PROTO */
85:#endif /* _BSD */
请注意,变量是在条件语句中声明的。第 79 行的 var 也在第 285 行声明。
284:#ifdef _NO_PROTO
285:extern pid_t wait();
286:extern pid_t wait3();
287:#else
288:
289:_BEGIN_CPLUSPLUS
290:extern pid_t wait(union wait *);
291:#include <sys/resource.h> /* contains rusage struct for wait3 */
292:extern pid_t wait3(union wait *, int, struct rusage *);
293:_END_CPLUSPLUS
294#endif /* !_NO_PROTO */
我不是一个经验丰富的 C 程序员,但我觉得如果我创建一个临时变量,那么我只会做一个声明。如何在不影响代码完整性的情况下做到这一点?
这是我收到错误的原因吗??????