Ошибки компилятора A / UX cc в тривиальном коде: «объявленный аргумент argc отсутствует» - PullRequest
1 голос
/ 05 мая 2010

В довольно древней UNIX (Apple A / UX 3.0.1 для процессоров 680x0), использующей встроенный компилятор c (cc), эта проблема возникает.

Вот код, который я пытаюсь скомпилировать:

#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

Использование более современного прототипа не помогло, ни справочная страница, ни быстрый поиск в Google. Что я делаю не так?

Ответы [ 2 ]

2 голосов
/ 05 мая 2010

Для старой школы K & R C Я думаю, что это должно быть:

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

int main(argc, argv)
int argc;
char **argv;
{
    if (argc > 1)
        puts(argv[1]);
    return (EXIT_SUCCESS);
}
0 голосов
/ 05 мая 2010

Это ошибка от Lint (код 53). Вы можете увидеть исходный код, который выдает эту ошибку здесь:

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

Вы можете попробовать взглянуть на этот код и посмотреть, сможете ли вы выяснить, что ведет к этому конкретному пути кода.

...