Ошибки компилятора A / UX CC на тривиальном коде: «Объявленный аргумент ARGC отсутствует»

StackOverflow https://stackoverflow.com/questions/2771819

Вопрос

На довольно древнем 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. Что я делаю неправильно?

Это было полезно?

Решение

Для старая школа 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);
}

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top