Здравствуйте, execve, Вы писали:
E>Здравствуйте, Кирпа В.А., Вы писали:
КВА>>Портировал я давеча один непутевый код с SUN на Linux
КВА>>И программа все время валилась c Segmentation fault
КВА>>притом самое интересное что было это внутри fclose()
КВА>>Спасибо людям что открыли мне прекрассный тулз valgrind
КВА>>Он и раскрыл мне глаза на то что в одном месте файл открытый на чтение
КВА>>закрывался дважды (заметьте не тот файл при закрытии которого был
КВА>>Segmentation fault)
E>E>close(fd);
E>fd = -1;
E>
E>ну и анализировать возврат из close.
Покатим бочку на Linux дальше
Это же как надо тупо реализовать библиотечные функции ввода/вывода
чтобы повторное закрытие файла ломало heap
кстати повторное закрытие файла в SUN, Windows ничего вредного не делает
КВА>>А возмутило меня другое Анализ лога valgrind показал что библиотечные
КВА>>функции fprintf, fclose вовсю юзают malloc, free
E>А какие функции они должны юзать?
Раз они юзают malloc, free то пусть будут добры не попадать в условия когда
портится heap (например повторное закрытие файла)