LINUX.ORG.RU
Ответ на: комментарий от vaino

argc и argv лишние, с -Wextra -Werror не соберется

У меня с -Wextra -Werror собирается. А вот ошибки printf я не обработал, каюсь.

tim239 ★★
()
Ответ на: комментарий от tim239

собирается

$ gcc -Wall -Wextra -Werror ./1.c
./1.c: In function ‘main’:
./1.c:4:14: error: unused parameter ‘argc’ [-Werror=unused-parameter]
./1.c:4:26: error: unused parameter ‘argv’ [-Werror=unused-parameter]
cc1: all warnings being treated as errors

gcc 4.7

$ clang -Wall -Wextra -Werror ./1.c
./1.c:4:14: error: unused parameter 'argc' [-Werror,-Wunused-parameter]
int main(int argc, char* argv[])
             ^
./1.c:4:26: error: unused parameter 'argv' [-Werror,-Wunused-parameter]
int main(int argc, char* argv[])
                         ^
2 errors generated.

clang 3.1

vaino
()
Ответ на: комментарий от april
#include <stdlib.h>
#include <stdio.h>

int main()
{
  return printf("Hello world\n")>0 ? EXIT_SUCCESS : EXIT_FAILURE;
}
tim239 ★★
()
Ответ на: комментарий от tim239

У меня GCC 4.6.1

скорее всего ты просто -Wall не добавил

вот из предыдущего поста моего собирается?

должен собираться, только согласно стандарту лучше проверять на отрицательное значение, а не положительное

vaino
()
Ответ на: комментарий от vaino

Да, как-то так и получалось.

$ gcc -Wall -Werror  hwworld.c 
$ gcc -Wextra -Werror  hwworld.c 
$ gcc -Wall -Wextra -Werror  hwworld.c 
hwworld.c: В функции «main»:
hwworld.c:4:14: ошибка: параметр «argc» не используется [-Werror=unused-parameter]
hwworld.c:4:26: ошибка: параметр «argv» не используется [-Werror=unused-parameter]
cc1: все предупреждения считать ошибками

tim239 ★★
()
Ответ на: комментарий от lazyklimm

__attribute__ ((unused))

это не С, в С в таком случае можно кастовать к void

vaino
()
Ответ на: комментарий от AptGet

Это пока принт один, а если десяток?

Тут суть в возврате результата не printf, а всей программы.

april
()
Ответ на: комментарий от AptGet

Я согласен. Если бы я писал свою книгу по C то я не стал бы там в примере с Hello World проверять код возврата printf. Потому что в этой программе если произошла какая-то ошибка с выводом строки - пользователь (программист, осваивающий C) это заметит по тому, что строка не вывелась.

tim239 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.