Ошибки компилятора A / UX CC на тривиальном коде: «Объявленный аргумент ARGC отсутствует»
-
03-10-2019 - |
Вопрос
На довольно древнем 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.
Вы можете попробовать посмотреть на этот код и посмотреть, можете ли вы отработать, что приводит к тому конкретному кондиционирующему пути.
Не связан с StackOverflow