1

在使用内置 c 编译器 (cc) 的相当古老的 UNIX(680x0 处理器的 Apple A/UX 3.0.1)上,出现了这个问题。

这是我要编译的代码:

#include <stdlib.h>
#include <stdio.h>

int main()
int argc;
char **argv;
{
        if (argc > 1)
            puts(argv[1]);
        return (EXIT_SUCCESS);
}

这是我得到的输出:

pigeonz.root # cc -c test.c
"test.c", line 5: declared argument argc is missing
"test.c", line 6: declared argument argv is missing

使用更现代的原型并没有帮助,手册页也没有帮助,也没有快速的谷歌搜索。我究竟做错了什么?

4

2 回答 2

2

对于old skool K&R CI 认为它需要:

#include <stdlib.h>
#include <stdio.h>

int main(argc, argv)
int argc;
char **argv;
{
    if (argc > 1)
        puts(argv[1]);
    return (EXIT_SUCCESS);
}
于 2010-05-05T09:24:50.880 回答
0

这是来自 Lint 的错误(代码 53)。您可以在此处查看引发该错误的源代码:

http://www.opensource.apple.com/source/developer_cmds/developer_cmds-49/lint/lint1/decl.c

您可以尝试查看该代码,看看是否可以找出导致该特定代码路径的原因。

于 2010-05-05T09:27:13.027 回答