[linux] developer firendly OS?

sergey_m

Похоже, что glibcевые includники ни фига не ANSI совместимы, с чем всех и поздравляю.
Пробуем скомпилировать так: gcc -o zhopa -Wall -ansi -pedantic zhopa.c
Не компилируется на Debian (не-помню версию на Dead Rat 7.3.
Информация о том, что именно инклюдить была почерпнута из manpages.
Образец того, как оно должно компилиться можно посмотреть под FreeBSD 4.9, FreeBSD-CURRENT.
zhopa.c:


#include <signal.h> /* see sigaction(2) */
#include <unistd.h> /* see getopt(3 see daemon(3) */
#ifdef __FreeBSD__
#include <stdlib.h> /* daemon(3) */
#endif
int
main(int argc, char *argv[])
{
struct sigaction sa, sa1;
(void )sigaction(1, &sa, &sa1);
(void )getopt(argc, argv, "");
(void )daemon(0, 0);
return (0);
}

Marinavo_0507

Эта программа использует инклуды и функции не из ANSI, она не обязана компилироваться с такими опциями.

evgeha

А еще linux не соответствует POSIX. Все это знают, но, почему-то, это мало кого волнует.

eee1

[kidding] ну когда все фичи AIX импортируются в Линукс, появляется же новая версия POSIX [/kidding]

sergey_m

Что значит "инклюды из ANSI"? Программный интерфейс ОС должен собираться ANSI C компилятором.

shlyumper

Ну кто тебе такой анекдот рассказал?

Marinavo_0507

> Что значит "инклюды из ANSI"?
В стандарте задан набор инклудов, которые должны присутствовать в системе.
> Программный интерфейс ОС должен собираться ANSI C компилятором.
Весь интерфейс? Категорически несогласен.
Обоснуй, кому должен и на каких основаниях.

sergey_m

Короче говоря, "следование стандартам - для лохов", так?

germafrodita

gcc -o zhopa -Wall -ansi -pedantic zhopa.c
Вот эти заглушки убери. В linux всё нормально работает, через жопу не обязательно.

sergey_m

Обнаружено, что -D_POSIX_SOURCE чинит unknown storage size. implicit declarations остаются, однако компиляция проходит успешно.

sergey_m

Садись, двойка. Если ты не понимаешь, зачем это ставится, то не умничай.
Оставить комментарий
Имя или ник:
Комментарий: